createStream method
Future<MessageStream>
createStream({
- required Participant to,
- required Map<
String, dynamic> header,
Implementation
Future<MessageStream> createStream({required Participant to, required Map<String, dynamic> header}) async {
final streamId = Uuid().v4();
final stream = MessageStream._(
header: header,
streamId: streamId,
to: to,
client: this,
controller: StreamController<MessageStreamChunk>(),
);
final completer = Completer();
pendingStreams[streamId] = completer;
_streams[streamId] = stream;
await completer.future;
await sendMessage(to: to, type: "stream.open", message: {"stream_id": streamId, "header": header});
return stream;
}