sendLoop method
Implementation
Future<void> sendLoop() async {
while (true) {
await _sendBufferedData.future;
if (!_executing) {
if (_transportResult != null) {
_transportResult!.completeError(Exception('Connection stopped.'));
}
break;
}
_sendBufferedData = Completer();
final transportResult = _transportResult;
_transportResult = null;
if (_buffer.isNotEmpty) {
final data = (_buffer[0] is String)
? _buffer.join('')
: TransportSendQueue._concatBuffers(_buffer as List<ByteBuffer?>);
_buffer.clear();
try {
await transport!.send(data);
transportResult!.complete();
} catch (error) {
transportResult!.completeError(error);
}
}
}
}