static void store_stream_writer (client_t *self) { // A writer talks to a single stream self->writer = s_stream_require (self, mlm_proto_stream (self->message)); if (self->writer) mlm_proto_set_status_code (self->message, MLM_PROTO_SUCCESS); else { engine_set_exception (self, exception_event); zsys_warning ("writer trying to talk to multiple streams"); } }
static void cancel_stream_reader (client_t *self) { // Cancel stream subscription stream_t *stream = s_stream_require (self, mlm_proto_stream (self->message)); if (stream) { zsock_send (stream->actor, "sp", "CANCEL", self); stream = (stream_t *) zlistx_detach (self->readers, NULL); } else { engine_set_exception (self, exception_event); zsys_warning ("stream does not exist"); } }
static void store_stream_reader (client_t *self) { stream_t *stream = s_stream_require (self, mlm_proto_stream (self->message)); if (stream) { zlistx_add_end (self->readers, stream); zsock_send (stream->actor, "sps", "COMPILE", self, mlm_proto_pattern (self->message)); mlm_proto_set_status_code (self->message, MLM_PROTO_SUCCESS); } else { engine_set_exception (self, exception_event); zsys_warning ("reader trying to talk to multiple streams"); } }