package protocol
- Alphabetic
- Public
- Protected
Type Members
- final case class AcknowledgeRequest extends HasProtocolVersionedWrapper[AcknowledgeRequest] with ProtocolVersionedMemoizedEvidence with Product with Serializable
- final case class AggregationId(id: Hash) extends PrettyPrinting with Product with Serializable
- final case class AggregationRule(eligibleSenders: NonEmpty[Seq[Member]], threshold: PositiveInt)(representativeProtocolVersion: RepresentativeProtocolVersion[AggregationRule.type]) extends HasProtocolVersionedWrapper[AggregationRule] with PrettyPrinting with Product with Serializable
Encodes the conditions on when an aggregatable submission request's envelopes are sequenced and delivered.
Encodes the conditions on when an aggregatable submission request's envelopes are sequenced and delivered.
Aggregatable submissions are grouped by their SubmissionRequest.aggregationId. An aggregatable submission's envelopes are delivered to their recipients when the threshold's submission request in its group has been sequenced. The aggregatable submission request that triggers the threshold defines the sequencing timestamp (and thus the sequencer counters) for all delivered envelopes. The sender of an aggregatable submission request receives a receipt of delivery immediately when its request was sequenced, not when its envelopes were delivered. When the envelopes are actually delivered, no further delivery receipt is sent.
So a threshold of 1 means that no aggregation takes place and the event is sequenced immediately. In this case, one can completely omit the aggregation rule in the submission request.
- 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 HasRepresentativeProtocolVersion 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
- sealed trait GroupRecipient extends Recipient
- sealed trait GroupRecipientCode extends AnyRef
- 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 MediatorsOfDomain(group: MediatorGroupIndex) extends GroupRecipient with Product with Serializable
- final case class MemberRecipient(member: Member) extends Recipient with Product with Serializable
- 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 ParticipantsOfParty(party: PartyId) extends GroupRecipient with Product with Serializable
- sealed trait Recipient extends Product with Serializable with PrettyPrinting
- 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
- 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: Traced[SignedContent[SequencedEvent[ClosedEnvelope]]], trafficState: Option[SequencedEventTrafficState]) extends Product with Serializable
- final case class TopologyStateForInitRequest(member: Member)(representativeProtocolVersion: RepresentativeProtocolVersion[TopologyStateForInitRequest.type]) extends HasProtocolVersionedWrapper[TopologyStateForInitRequest] with Product with Serializable
A request to receive the topology state for initialization
A request to receive the topology state for initialization
- member
the member subscribing to the sequencer
- final case class TopologyStateForInitResponse(topologyTransactions: Traced[GenericStoredTopologyTransactionsX]) extends Product with Serializable
- 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 AggregationId extends Serializable
- object AggregationRule extends HasProtocolVersionedCompanion[AggregationRule] with ProtocolVersionedCompanionDbHelpers[AggregationRule]
- case object AllMembersOfDomain extends GroupRecipient with Product with Serializable
- object Batch extends HasProtocolVersionedCompanion2[Batch[Envelope[_]], Batch[ClosedEnvelope]]
- object ClosedEnvelope extends HasSupportedProtoVersions[ClosedEnvelope] with Serializable
- object Deliver extends Serializable
- object DeliverError extends Serializable
- object DeliverErrorReason
- object GroupRecipientCode
- object HandshakeRequest extends Serializable
- object HandshakeResponse
- object MaxRequestSizeToDeserialize
- object MediatorsOfDomain extends Serializable
- object MessageId extends LengthLimitedStringWrapperCompanion[String73, MessageId] with Serializable
- object OpenEnvelope extends Serializable
- object ParticipantsOfParty 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
- case object SequencersOfDomain extends GroupRecipient with Product with Serializable
- object SignedContent extends HasProtocolVersionedCompanion2[SignedContent[HasCryptographicEvidence], SignedContent[BytestringWithCryptographicEvidence]]
- object SubmissionRequest extends HasMemoizedProtocolVersionedWithContextCompanion[SubmissionRequest, MaxRequestSizeToDeserialize]
- object SubscriptionRequest extends HasProtocolVersionedCompanion[SubscriptionRequest]
- object SubscriptionResponse extends Serializable
- object TopologyStateForInitRequest extends HasProtocolVersionedCompanion[TopologyStateForInitRequest]
- object TopologyStateForInitResponse extends Serializable
- object TrafficState extends Serializable
- object VerifyActiveResponse
- object WithRecipients extends Serializable