start method
void
start()
Start reading from stdin and writing responses to stdout.
Implementation
void start() {
bridge._setState(BridgeConnectionState.connected);
_stdinSubscription = _stdin
.transform(utf8.decoder)
.transform(const LineSplitter())
.listen(
(line) {
if (line.trim().isEmpty) return;
bridge._handleRawMessage(line);
},
onError: (Object e) {
bridge._setState(BridgeConnectionState.error);
},
onDone: () {
bridge._setState(BridgeConnectionState.disconnected);
},
);
// Intercept outgoing messages and write them to stdout.
bridge.messages.listen((msg) {
_writeLine(msg.encode());
});
}