assignJob method
Registers job as the handler invoked for every message emitted by this
service.
job receives a non-null Pointer<BackendMsg>. freeMessage is called
automatically once job returns.
Implementation
@nonVirtual
void assignJob(void Function(Pointer<BackendMsg>) job) {
assert(!_disposed, 'assignJob called on a disposed Service');
assert(
_subscriptions.isEmpty,
'assignJob called twice on the same Service — '
'each message pointer would be freed twice (double-free)',
);
_subscriptions.add(_messageStream.listen((message) {
job(message);
freeMessage(message);
}));
}