sendMessage method

  1. @override
Future<void> sendMessage(
  1. WebSocketMessage message
)
override

Sends a message through the WebSocket

Implementation

@override
Future<void> sendMessage(WebSocketMessage message) async {
  if (_disposed) return;
  if (_currentState != WebSocketState.connected) {
    throw StateError('WebSocket is not connected');
  }

  if (_shouldFailSending) {
    final error = Exception('Mock sending failure');
    if (!_disposed) _errorController.add(error);
    throw error;
  }

  _sentMessages.add(message);

  if (_autoRespondToPing && _isPingMessage(message)) {
    final t = Timer(Duration(milliseconds: 50), () {
      if (!_disposed) simulatePongMessage();
    });
    _timers.add(t);
  }
}