accept method
StreamSubscription<Message>
accept({
- required void onDone(),
- required void onError(
- dynamic error,
- dynamic stackTrace
Implementation
StreamSubscription<Message> accept({
required void Function() onDone,
required void Function(dynamic error, dynamic stackTrace) onError,
}) {
return _socket
.transform(BytesSplitter())
.transform(BytesDecoder())
.transform(FrameDecoder())
.listen(
(event) {
_lastResponseTime = DateTime.now();
switch (event.command.toUpperCase()) {
case 'PRIVMSG':
_onPrivmsg(event);
return;
case 'NOTICE':
_onNotice(event);
return;
case 'PASS':
return _onPass(event);
case 'NICK':
return _onNick(event);
case 'USER':
return _onUser(event);
case 'QUIT':
_onQuit(event);
return;
case 'PING':
return _onPing(event);
case 'PONG':
return _onPong(event);
case 'JOIN':
return _onJoin(event);
case 'PART':
return _onPart(event);
case 'MODE':
return _onMode(event);
case 'TOPIC':
return _onTopic(event);
case 'ISON':
return _onIson(event);
case 'MOTD':
return _onMotd(event);
case 'CAP':
return _onCap(event);
case 'ERROR':
return _onError(event);
default:
print(event);
return _onUnknown(event);
}
},
onError: (error, stackTrace) {
print(error);
_closeSocket(flush: false)
.then((_) => onError(error, stackTrace))
.catchError(onError);
},
onDone: () {
_closeSocket().then((_) => onDone()).catchError(onError);
},
cancelOnError: true,
);
}