Struct PntosMessageStreamConfig

Struct Documentation

struct PntosMessageStreamConfig

This type configures the buffering, delay, and sorting characteristics of messages that are streamed into the orchestration plugin. The pntOS system will deliver messages to the orchestration plugin as it receives them. However, there is a fundamental tradeoff between latency and those messages being in-order. In particular, to guarantee that messages are sorted by timestamp, it is necessary to build a buffer and delay delivery, such that a sorting function may be applied. This structure allows the plugin to choose which messages are buffered and which are not.

Public Members

void (*sequenced_stream_add)(PntosMediator *self, PntosMessageType type, char *source_identifier)

Request messages of the given PntosMessageType and optional source_identifier are streamed in sorted timestamp ordering. Note that the ability to do this reliably will depend on the length of the buffer used by the mediator.

void (*sequenced_stream_remove)(PntosMediator *self, PntosMessageType type, char *source_identifier)

Request messages of the given PntosMessageType and optional source_identifier are no longer streamed in sorted timestamp ordering. This will remove a type that was previously added in a call to sequenced_stream_add, or remove individual messages from the entire list of messages that was added with a previous call to sequenced_stream_all.

void (*sequenced_stream_all)(PntosMediator *self, bool enable)

Request all messages are streamed in sorted timestamp ordering. Note that the ability to do this reliably will depend on the length of the buffer used by the mediator.

void (*immediate_stream_add)(PntosMediator *self, PntosMessageType type, char *source_identifier)

Request messages of the given PntosMessageType and optional source_identifier are streamed immediately without delay, buffering, or sorting.

void (*immediate_stream_remove)(PntosMediator *self, PntosMessageType type, char *source_identifier)

Request messages of the given PntosMessageType and optional source_identifier are no longer streamed immediately. This will remove a type that was previously added in a call to immediate_stream_add, or remove individual messages from the entire list of messages that was added with a previous call to immediate_stream_all.

void (*immediate_stream_all)(PntosMediator *self, bool enable)

Request all messages are streamed immediately without delay, buffering, or sorting.