connect method
Future<void>
connect(
)
inherited
Implementation
@override
Future<void> connect() async {
if (_client != null && !_client!.isClosed) {
log(
'Connection already opened. Connection abort.',
name: logName,
);
return;
}
log(
'Opening connection',
name: logName,
);
_connectionStateController.add(
const ArchethicDappConnectionState.connecting(),
);
_channel = await _connect();
log(
'Connection opened',
name: logName,
);
_connectionStateController.add(
const ArchethicDappConnectionState.connected(),
);
final client = Peer(_channel!.cast<String>());
client.registerMethod(
'addSubscriptionNotification',
(params) {
log('Received value');
_subscriptionValues.add(
SubscriptionUpdate.fromJson(params.value),
);
},
);
_client = client;
unawaited(
client.listen().then(
(value) {
log(
'Connection closed',
name: logName,
);
_connectionStateController.add(
const ArchethicDappConnectionState.disconnected(),
);
},
),
);
}