SocketClient class

Wraps a standard web socket instance to marshal and un-marshal the server / client payloads into dart object representation.

This class also deals with reconnection, handles timeout and keep alive messages.

It is meant to be instantiated once, and you can let this class handle all the heavy- lifting of socket state management. Once you're done with the socket connection, make sure you call the dispose method to release all allocated resources.

Constructors

SocketClient(String url, {String protocol = GraphQLProtocol.graphqlWs, SocketClientConfig config = const SocketClientConfig(), @visibleForTesting Uint8List? randomBytesForUuid, @visibleForTesting void onMessage(GraphQLSocketMessage)?, @visibleForTesting void onStreamError(Object error, StackTrace stackTrace) = _defaultOnStreamError})

Properties

config SocketClientConfig
final
connectionState Stream<SocketConnectionState>
These streams will emit done events when the current socket is done. A stream that emits the last value of the connection state upon subscription.
no setter
hashCode int
The hash code for this object.
no setterinherited
onMessage ↔ (void Function(GraphQLSocketMessage)?)
getter/setter pair
onStreamError ↔ void Function(Object error, StackTrace stackTrace)
getter/setter pair
parse Response Function(Map<String, dynamic>)
no setter
protocol String
final
randomBytesForUuid Uint8List?
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
serialize Map<String, dynamic> Function(Request)
no setter
socketChannel GraphQLWebSocketChannel?
getter/setter pair
url String
final

Methods

dispose() Future<void>
Closes the underlying socket if connected, and stops reconnection attempts. After calling this method, this SocketClient instance must be considered unusable. Instead, create a new instance of this class.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onConnectionLost([Object? e]) → void
subscribe(Request payload, bool waitForConnection) Stream<Response>
Sends a query, mutation or subscription request to the server, and returns a stream of the response.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited