com.digitalasset.canton.sequencer.api.v30
ConnectToSequencerChannelRequest
Companion object ConnectToSequencerChannelRequest
final case class ConnectToSequencerChannelRequest(request: Request, traceContext: Option[TraceContext]) extends GeneratedMessage with Updatable[ConnectToSequencerChannelRequest] with Product with Serializable
The sequencer channel service protocol consists of several messages which are sent as a request or a response (that is as a ConnectToSequencerChannelRequest or a ConnectToSequencerChannelResponse).
The protocol transitions through several stages. - To bootstrap the channel, initialization messages between the sequencer channel client and service need to be exchanged, that are SequencerChannelMetadata and SequencerChannelConnectedToAllEndpoints messages. - To secure the channel, sequencer channel client member endpoints setup a session key with the SequencerChannelSessionKey and SequencerChannelSessionKeyAck messages. - To transfer data through the channel, members use opaque (encrypted) payload messages which the sequencer channel service forwards between channel member endpoints.
Using payload messages channel client users can implement their own application protocol such as the Online Party Replication.
Note that both, request and response need to implement SequencerChannelSessionKey and SequencerChannelSessionKeyAck messages because of the bidirectional gRPC streams. For example, when the sequencer channel service receives a SequencerChannelSessionKeyAck request message from a sequencer channel client, it needs to forward it as a SequencerChannelSessionKeyAck response message to the destination sequencer channel client.
- traceContext
Canton trace context Required
- Annotations
- @SerialVersionUID()
- Alphabetic
- By Inheritance
- ConnectToSequencerChannelRequest
- Updatable
- GeneratedMessage
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ConnectToSequencerChannelRequest(request: Request, traceContext: Option[TraceContext])
- traceContext
Canton trace context Required
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clearRequest: ConnectToSequencerChannelRequest
- def clearTraceContext: ConnectToSequencerChannelRequest
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- def companion: ConnectToSequencerChannelRequest.type
- Definition Classes
- ConnectToSequencerChannelRequest → GeneratedMessage
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def getField(__field: FieldDescriptor): PValue
- Definition Classes
- ConnectToSequencerChannelRequest → GeneratedMessage
- def getFieldByNumber(__fieldNumber: Int): Any
- Definition Classes
- ConnectToSequencerChannelRequest → GeneratedMessage
- def getMetadata: SequencerChannelMetadata
- def getPayload: ByteString
- def getSessionKey: SequencerChannelSessionKey
- def getSessionKeyAcknowledgement: SequencerChannelSessionKeyAck
- def getTraceContext: TraceContext
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val request: Request
- def serializedSize: Int
- Definition Classes
- ConnectToSequencerChannelRequest → GeneratedMessage
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def toByteArray: Array[Byte]
- Definition Classes
- GeneratedMessage
- final def toByteString: ByteString
- Definition Classes
- GeneratedMessage
- final def toPMessage: PMessage
- Definition Classes
- GeneratedMessage
- def toProtoString: String
- Definition Classes
- ConnectToSequencerChannelRequest → GeneratedMessage
- val traceContext: Option[TraceContext]
- def update(ms: (Lens[ConnectToSequencerChannelRequest, ConnectToSequencerChannelRequest]) => Mutation[ConnectToSequencerChannelRequest]*): ConnectToSequencerChannelRequest
- Definition Classes
- Updatable
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withMetadata(__v: SequencerChannelMetadata): ConnectToSequencerChannelRequest
- def withPayload(__v: ByteString): ConnectToSequencerChannelRequest
- def withRequest(__v: Request): ConnectToSequencerChannelRequest
- def withSessionKey(__v: SequencerChannelSessionKey): ConnectToSequencerChannelRequest
- def withSessionKeyAcknowledgement(__v: SequencerChannelSessionKeyAck): ConnectToSequencerChannelRequest
- def withTraceContext(__v: TraceContext): ConnectToSequencerChannelRequest
- final def writeDelimitedTo(output: OutputStream): Unit
- Definition Classes
- GeneratedMessage
- def writeTo(_output__: CodedOutputStream): Unit
- Definition Classes
- ConnectToSequencerChannelRequest → GeneratedMessage
- final def writeTo(output: OutputStream): Unit
- Definition Classes
- GeneratedMessage