GruntChannel constructor
GruntChannel({
- DuplexChannel? boss,
- Grunt? grunt,
Implementation
GruntChannel({
this.boss,
this.grunt,
}) {
_sub = boss!.inbound.listen(
(decodedMessage) {
try {
print("got from supervisor: ${decodedMessage.messageCodeInfo}");
if (decodedMessage.payload != null) {
print(" > payload: ${decodedMessage.payload}");
}
switch (decodedMessage.messageCode) {
case SupervisorMessages.kInitialize:
print(" > initialize");
// grunt!.initialize(this);
break;
case SupervisorMessages.kStart:
print(" > start");
grunt!.start(decodedMessage.payload);
break;
case SupervisorMessages.kStop:
print(" > stop");
grunt!.stop();
break;
case SupervisorMessages.kAck:
if (!_ready.isCompleted) {
_ready.complete();
}
print(" > ack");
break;
default:
log.info("Invalid message: ${decodedMessage.messageCodeInfo}");
}
} catch (e, stack) {
print("ERROR!: $e");
print(stack);
}
},
cancelOnError: false,
onDone: () {
print("Boss stream is done!");
},
onError: (err, stac) {
print("Error with boss $err");
print(stac);
});
startupPing();
grunt!.initialize(this);
}