OperationError: Cannot send message - no space in transport.
We are building a browser based fx trading platform This platform is fully event driven & all communication goes via a solace software broker hosted in AWS.
One capability that we have in place on the front end, is that when your connection drops (solace connection retries), we store/persist all telemetry data locally (indexed db). Once the connection is re-established, we start draining the locally persisted telemetry data, pushing the data to a solace persisted queue. This is key for accuracy, especially when shipping metrics.
Once we start draining the persisted 'offline' data, we start running into errors - 'OperationError: Cannot send message - no space in transport.'
According to the documentation, it seems like internal buffer of the transport layer has filled up and is unable to accept more data until some of the data is transmitted and acknowledged by the receiver.
What are my options here? Whats an elegant way to handle this?
Can or should I increase the internal buffer size? Perhaps I can implement some retry logic? Perhaps I need to batch messages?