package protocol
- Alphabetic
- Public
- Protected
Type Members
- final case class AcknowledgeRequest extends HasProtocolVersionedWrapper[AcknowledgeRequest] with ProtocolVersionedMemoizedEvidence with Product with Serializable
- final case class Batch[+Env <: Envelope[_]] extends HasProtocolVersionedWrapper[Batch[Envelope[_]]] with PrettyPrinting with Product with Serializable
A batch is a a list of
n
tuples(m
i, recipients
i), wherem
i is a message, andrecipients
i is the list of recipients of mi, for0 <= i < n
. - final case class ClosedEnvelope extends Envelope[ByteString] with HasProtocolVersionedWrapper[ClosedEnvelope] with Product with Serializable
A ClosedEnvelope's contents are serialized as a com.google.protobuf.ByteString.
A ClosedEnvelope's contents are serialized as a com.google.protobuf.ByteString.
The serialization is interpreted as a com.digitalasset.canton.protocol.messages.EnvelopeContent if
signatures
are empty, and as a com.digitalasset.canton.protocol.messages.TypedSignedProtocolMessageContent otherwise. It itself is serialized without version wrappers inside a Batch. - case class Deliver[+Env <: Envelope[_]] extends SequencedEvent[Env] with Product with Serializable
Intuitively, the member learns all envelopes addressed to it.
Intuitively, the member learns all envelopes addressed to it. It learns some recipients of these envelopes, as defined by com.digitalasset.canton.sequencing.protocol.Recipients.forMember
- Annotations
- @SuppressWarnings()
- sealed abstract case class DeliverError extends SequencedEvent[Nothing] with NoCopy with Product with Serializable
- sealed trait DeliverErrorReason extends PrettyPrinting
Why was the sequencer unable to sequence the requested send
- trait Envelope[+M] extends PrettyPrinting
An Envelope wraps an envelope content such as a com.digitalasset.canton.protocol.messages.ProtocolMessage together with the recipients.
An Envelope wraps an envelope content such as a com.digitalasset.canton.protocol.messages.ProtocolMessage together with the recipients.
- M
The type of the envelope content
- final case class EventWithErrors[Event <: SequencedEvent[_]](content: Event, openingErrors: Seq[ProtoDeserializationError], isIgnored: Boolean) extends Product with Serializable
- final case class HandshakeRequest(clientProtocolVersions: Seq[ProtocolVersion], minimumProtocolVersion: Option[ProtocolVersion]) extends Product with Serializable
- sealed trait HandshakeResponse extends AnyRef
- sealed trait MaxRequestSizeToDeserialize extends AnyRef
- final case class MessageId(str: String73) extends LengthLimitedStringWrapper with PrettyPrinting with Product with Serializable
Identifier assigned by caller to a submission request.
- final case class OpenEnvelope[+M <: ProtocolMessage](protocolMessage: M, recipients: Recipients)(protocolVersion: ProtocolVersion) extends Envelope[M] with Product with Serializable
An OpenEnvelope contains a not serialized protocol message
An OpenEnvelope contains a not serialized protocol message
- M
The type of the protocol message
- final case class Recipient(member: Member) extends PrettyPrinting with Product with Serializable
- final case class Recipients(trees: NonEmpty[Seq[RecipientsTree]]) extends PrettyPrinting with Product with Serializable
Recipients of a batch.
Recipients of a batch. Uses a list of com.digitalasset.canton.sequencing.protocol.RecipientsTrees that define the members receiving a batch, and which members see which other recipients.
- final case class RecipientsTree(recipientGroup: NonEmpty[Set[Recipient]], children: Seq[RecipientsTree]) extends PrettyPrinting with Product with Serializable
A tree representation of the recipients for a batch.
A tree representation of the recipients for a batch. Each member receiving the batch should see only subtrees of recipients from a node containing the member. If a member is present in a subtree A and a sub-subtree of A then it should only see the top-level subtree A.
- sealed trait SendAsyncError extends PrettyPrinting
Synchronous error returned by a sequencer.
- final case class SendAsyncResponse(error: Option[SendAsyncError]) extends Product with Serializable
- sealed trait SequencedEvent[+Env <: Envelope[_]] extends Product with Serializable with ProtocolVersionedMemoizedEvidence with PrettyPrinting with HasProtocolVersionedWrapper[SequencedEvent[Envelope[_]]]
The Deliver events are received as a consequence of a Send command, received by the recipients of the originating Send event.
- final case class SequencedEventTrafficState(extraTrafficRemainder: NonNegativeLong, extraTrafficConsumed: NonNegativeLong) extends Product with Serializable
Traffic state stored alongside sequenced events
- sealed trait SequencerDeliverError extends TransactionError
- sealed abstract class SequencerDeliverErrorCode extends ErrorCode
- final case class SignedContent[+A <: HasCryptographicEvidence] extends HasProtocolVersionedWrapper[SignedContent[HasCryptographicEvidence]] with Serializable with Product
- final case class SubmissionRequest extends HasProtocolVersionedWrapper[SubmissionRequest] with ProtocolVersionedMemoizedEvidence with Product with Serializable
- final case class SubscriptionRequest(member: Member, counter: SequencerCounter)(representativeProtocolVersion: RepresentativeProtocolVersion[SubscriptionRequest.type]) extends HasProtocolVersionedWrapper[SubscriptionRequest] with Product with Serializable
A request to receive events from a given counter from a sequencer.
A request to receive events from a given counter from a sequencer.
- member
the member subscribing to the sequencer
- counter
the counter of the first event to receive.
- final case class SubscriptionResponse(signedSequencedEvent: SignedContent[SequencedEvent[ClosedEnvelope]], traceContext: TraceContext, trafficState: Option[SequencedEventTrafficState]) extends Product with Serializable
- final case class TimeProof extends PrettyPrinting with HasCryptographicEvidence with Product with Serializable
Wrapper for a sequenced event that has the correct properties to act as a time proof:
Wrapper for a sequenced event that has the correct properties to act as a time proof:
- a deliver event with no envelopes
- has a message id that suggests it was requested as a time proof (this is practically unnecessary but will act as a safeguard against future sequenced event changes)
- final case class TrafficState(extraTrafficRemainder: NonNegativeLong, extraTrafficConsumed: NonNegativeLong, baseTrafficRemainder: NonNegativeLong, timestamp: CantonTimestamp) extends Product with Serializable
Traffic state stored in the sequencer per event needed for enforcing traffic control
- final case class VerifyActiveRequest() extends Product with Serializable
- sealed trait VerifyActiveResponse extends AnyRef
- final case class WithRecipients[+A](x: A, recipients: Recipients) extends Product with Serializable
Value Members
- object AcknowledgeRequest extends HasMemoizedProtocolVersionedWrapperCompanion[AcknowledgeRequest]
- object Batch extends HasProtocolVersionedCompanion2[Batch[Envelope[_]], Batch[ClosedEnvelope]]
- object ClosedEnvelope extends HasProtocolVersionedCompanion[ClosedEnvelope]
- object Deliver extends Serializable
- object DeliverError extends Serializable
- object DeliverErrorReason
- object HandshakeRequest extends Serializable
- object HandshakeResponse
- object MaxRequestSizeToDeserialize
- object MessageId extends LengthLimitedStringWrapperCompanion[String73, MessageId] with Serializable
- object OpenEnvelope extends Serializable
- object Recipient extends Serializable
- object Recipients extends Serializable
- object RecipientsTree extends Serializable
- object SendAsyncError
- object SendAsyncResponse extends Serializable
- object SequencedEvent extends HasMemoizedProtocolVersionedWrapperCompanion2[SequencedEvent[Envelope[_]], SequencedEvent[ClosedEnvelope]]
- object SequencedEventTrafficState extends Serializable
- object SequencerErrors extends SequencerErrorGroup
- Annotations
- @Explanation(explanation = """Delivery errors wrapped into sequenced events""")
- object SignedContent extends HasProtocolVersionedCompanion2[SignedContent[HasCryptographicEvidence], SignedContent[BytestringWithCryptographicEvidence]]
- object SubmissionRequest extends HasMemoizedProtocolVersionedWithContextCompanion[SubmissionRequest, MaxRequestSizeToDeserialize]
- object SubscriptionRequest extends HasProtocolVersionedCompanion[SubscriptionRequest]
- object SubscriptionResponse extends Serializable
- object TimeProof extends Serializable
- object TrafficState extends Serializable
- object VerifyActiveResponse
- object WithRecipients extends Serializable