Packages

p

kalix.protocol

component

package component

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. final case class ClientAction(action: ClientAction.Action = kalix.protocol.component.ClientAction.Action.Empty, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[ClientAction] with Product with Serializable

    An action for the client (see ActionResponse in action.proto)

    An action for the client (see ActionResponse in action.proto)

    Annotations
    @SerialVersionUID()
  2. final case class Failure(commandId: Long = 0L, description: String = "", grpcStatusCode: Int = 0, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[Failure] with Product with Serializable

    A failure reply.

    A failure reply. If this is returned, it will be translated into a gRPC unknown error with the corresponding description if supplied.

    commandId

    The id of the command being replied to. Must match the input command.

    description

    A description of the error.

    grpcStatusCode

    The gRPC status code. If this failure is being sent as an action for a gRPC response, and this is non zero, then this is the code that will be used. Note that a status code of zero in gRPC means OK. Since this is a failure, zero passed here is not interpreted to mean OK, but rather indicates that no gRPC status code is explicitly specified. A status code of 2, meaning unknown error, will be sent by default. When HTTP transcoding is being used, the gRPC status code will be translated to an equivalent HTTP status code. HTTP status codes MUST NOT be passed in this field. See https://grpc.github.io/grpc/core/md_doc_statuscodes.html for a list of gRPC status codes and their meanings.

    Annotations
    @SerialVersionUID()
  3. final case class Forward(serviceName: String = "", commandName: String = "", payload: Option[Any] = _root_.scala.None, metadata: Option[Metadata] = _root_.scala.None, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[Forward] with Product with Serializable

    Forwards handling of this request to another component.

    Forwards handling of this request to another component.

    serviceName

    The name of the service to forward to.

    commandName

    The name of the command.

    payload

    The payload.

    metadata

    The metadata to include with the forward

    Annotations
    @SerialVersionUID()
  4. final case class Metadata(entries: Seq[MetadataEntry] = _root_.scala.Seq.empty, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[Metadata] with Product with Serializable

    Transport-specific metadata associated with a message.

    Transport-specific metadata associated with a message.

    The semantics of the metadata are not defined in this protocol, but rather, depend on the transport on which a particular instance of the metadata maps to. What keys or values are allowed or disallowed, whether duplicate values for the same key are allowed and how they are handled, and whether key names are case sensitive or not, are all undefined in the context of the Kalix protocol.

    If a metadata entry associated with a message can't be expressed in an underlying transport, for example, due to invalid characters in a key or value, the behavior of the proxy is undefined. This is because metadata is transport specific, so if the user service chooses to use metadata, it is choosing to be specific to a particular transport, which is beyond the scope of the Kalix protocol, and it's therefore the user services's responsibility to adhere to the semantics of that transport. The proxy MAY decide to drop metadata entries if it knows they are invalid or unsupported. If a metadata entry is dropped, the proxy MAY inform the user service that the entry was dropped by sending an error message to the Discovery.ReportError gRPC call.

    The metadata MAY also contain CloudEvent metadata. If a message comes from an Kalix event source, the Kalix proxy MUST attach CloudEvent metadata to it if the event doesn't already have CloudEvent metadata attached to it. This metadata SHALL be encoded according to the binary mode of the CloudEvent HTTP protocol binding, which can be found here:

    https://github.com/cloudevents/spec/blob/master/http-protocol-binding.md

    The Kalix proxy MAY synthesize appropriate values for Kalix metadata if no equivalent metadata exists in the event source, for example, if there is no type, the Kalix proxy MAY use the name of the gRPC message as the CloudEvent type, and if there is no source, the Kalix proxy MAY use the name of the topic as the source.

    If an incoming message does have CloudEvent metadata attached to it, the Kalix proxy MUST transcode that CloudEvent metadata to the HTTP protocol binding as described above.

    Messages sent from the user service to an event destination MAY include CloudEvent metadata. If they include any CloudEvent metadata, they MUST include all required CloudEvent attributes, including id, source, specversion and type. The behavior of the proxy is undefined if some of these attributes, but not others, are included - the proxy MAY ignore them all, or MAY generate values itself, but SHOULD NOT fail sending the message. If the destination for the message is an event destination, the Kalix proxy MUST transcode the supplied Kalix metadata to a binding appropriate for the underlying transport for that event destination, it MUST NOT pass the CloudEvent metadata as is unless the transport uses the same binding rules.

    entries

    The metadata entries.

    Annotations
    @SerialVersionUID()
  5. final case class MetadataEntry(key: String = "", value: Value = kalix.protocol.component.MetadataEntry.Value.Empty, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[MetadataEntry] with Product with Serializable

    A metadata entry.

    A metadata entry.

    key

    Key for the entry. Valid keys are determined by the underlying transport.

    Annotations
    @SerialVersionUID()
  6. final case class Reply(payload: Option[Any] = _root_.scala.None, metadata: Option[Metadata] = _root_.scala.None, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[Reply] with Product with Serializable

    A reply to the sender.

    A reply to the sender.

    payload

    The reply payload

    metadata

    Metadata for the reply Not all transports support per message metadata, for example, gRPC doesn't. The Kalix proxy MAY ignore the metadata in this case, or it MAY lift the metadata into another place, for example, in gRPC, a unary call MAY have its reply metadata placed in the headers of the HTTP response, or the first reply to a streamed call MAY have its metadata placed in the headers of the HTTP response. If the metadata is ignored, the Kalix proxy MAY notify the user function by sending an error message to the Discovery.ReportError gRPC call.

    Annotations
    @SerialVersionUID()
  7. final case class SideEffect(serviceName: String = "", commandName: String = "", payload: Option[Any] = _root_.scala.None, synchronous: Boolean = false, metadata: Option[Metadata] = _root_.scala.None, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[SideEffect] with Product with Serializable

    A side effect to be done after this command is handled.

    A side effect to be done after this command is handled.

    serviceName

    The name of the service to perform the side effect on.

    commandName

    The name of the command.

    payload

    The payload of the command.

    synchronous

    Whether this side effect should be performed synchronously, ie, before the reply is eventually sent, or not.

    metadata

    The metadata to include with the side effect

    Annotations
    @SerialVersionUID()
  8. final case class StreamCancelled(componentId: String = "", id: Long = 0L, unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[StreamCancelled] with Product with Serializable

    componentId

    The ID of the component

    id

    The command id

    Annotations
    @SerialVersionUID()
  9. final case class TraceableAny(typeUrl: String = "", value: ByteString = _root_.com.google.protobuf.ByteString.EMPTY, traceParent: String = "", unknownFields: UnknownFieldSet = _root_.scalapb.UnknownFieldSet.empty) extends GeneratedMessage with Updatable[TraceableAny] with Product with Serializable

    To read/write state in the the journal as an com.google.protobuf.Any with a trace parent.

    To read/write state in the the journal as an com.google.protobuf.Any with a trace parent. Developed for Event Sourced Entities. To read/write state in the durable store as an com.google.protobuf.Any with a trace parent. Developed for Value Entities. This is an alternative to just store .protobuf.Any. It's used when tracing is enabled so a View or an Action can retrieve the trace parent after an Entity has persisted its state in DB, This is the type one will get when exporting the data from the durable store if tracing has been previously enabled. Because it has the common fields with .protobuf.Any https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/any.proto TraceableAny can be deserialized also into a .protobuf.Any out of the box.

    typeUrl

    same as type_url in com.google.protobuf.any.Any

    value

    same as value in com.google.protobuf.any.Any

    traceParent

    The id that can be picked to generate a span to link it to with a previous span.

    Annotations
    @SerialVersionUID()

Ungrouped