Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Receiver ¶
type Receiver interface { // Ordered should be invoked sequentially as messages are ordered // If the current message valid, and no batches need to be cut: // - Ordered will return nil, nil, and true (indicating valid Tx). // If the current message valid, and batches need to be cut: // - Ordered will return 1 or 2 batches of messages, 1 or 2 batches of committers, and true (indicating valid Tx). // If the current message is invalid: // - Ordered will return nil, nil, and false (to indicate invalid Tx). // // Given a valid message, if the current message needs to be isolated (as determined during filtering). // - Ordered will return: // * The pending batch of (if not empty), and a second batch containing only the isolated message. // * The corresponding batches of committers. // * true (indicating ok). // Otherwise, given a valid message, the pending batch, if not empty, will be cut and returned if: // - The current message needs to be isolated (as determined during filtering). // - The current message will cause the pending batch size in bytes to exceed BatchSize.PreferredMaxBytes. // - After adding the current message to the pending batch, the message count has reached BatchSize.MaxMessageCount. // // In any case, `pending` is set to true if there are still messages pending in the receiver after cutting the block. Ordered(msg *cb.Envelope) (messageBatches [][]*cb.Envelope, committers [][]filter.Committer, validTx bool, pending bool) // Cut returns the current batch and starts a new one Cut() ([]*cb.Envelope, []filter.Committer) }
Receiver defines a sink for the ordered broadcast messages
Click to show internal directories.
Click to hide internal directories.