Skip to content

Message

13 exports Added in v1.0.0 Source

Incoming

Incoming type

Added in v1.0.0 Source

Signature

type Incoming<R extends Rpc.Any> = IncomingRequest<R> | IncomingEnvelope;

Signature

declare class IncomingEnvelope extends Readonly<{
readonly _tag: "IncomingEnvelope";
readonly envelope: AckChunk | Interrupt;
}> & {
readonly _tag: "IncomingEnvelope";
} & Pipeable {
constructor(args: {
readonly envelope: AckChunk | Interrupt;
});
}

IncomingLocal type

Added in v1.0.0 Source

Signature

type IncomingLocal<R extends Rpc.Any> = IncomingRequestLocal<R> | IncomingEnvelope;

Signature

declare function incomingLocalFromOutgoing<R extends Any>(self: Outgoing<R>): IncomingLocal<R>;

Signature

declare class IncomingRequest<R extends Rpc.Any> extends Readonly<{
readonly envelope: PartialEncoded;
readonly lastSentReply: Option<ReplyEncoded<R>>;
readonly respond: (reply: ReplyWithContext<R>) => Effect<void, MalformedMessage | PersistenceError>;
}> & {
readonly _tag: "IncomingRequest";
} & Pipeable {
constructor<R extends Any>(args: {
readonly envelope: PartialEncoded;
readonly lastSentReply: Option<ReplyEncoded<R>>;
readonly respond: (reply: ReplyWithContext<R>) => Effect<void, MalformedMessage | PersistenceError>;
});
}

Outgoing

Signature

declare class IncomingRequestLocal<R extends Rpc.Any> extends Readonly<{
readonly envelope: Request<R>;
readonly lastSentReply: Option<Reply<R>>;
readonly respond: (reply: Reply<R>) => Effect<void, MalformedMessage | PersistenceError>;
}> & {
readonly _tag: "IncomingRequestLocal";
} & Pipeable {
constructor<R extends Any>(args: {
readonly envelope: Request<R>;
readonly lastSentReply: Option<Reply<R>>;
readonly respond: (reply: Reply<R>) => Effect<void, MalformedMessage | PersistenceError>;
});
}

Outgoing type

Added in v1.0.0 Source

Signature

type Outgoing<R extends Rpc.Any> = OutgoingRequest<R> | OutgoingEnvelope;

Signature

declare class OutgoingEnvelope extends Readonly<{
readonly envelope: AckChunk | Interrupt;
readonly rpc: AnyWithProps;
}> & {
readonly _tag: "OutgoingEnvelope";
} & Pipeable {
constructor(args: {
readonly envelope: AckChunk | Interrupt;
readonly rpc: AnyWithProps;
});
static interrupt(options: {
readonly address: EntityAddress;
readonly id: Snowflake;
readonly requestId: Snowflake;
}): OutgoingEnvelope;
}

Signature

declare class OutgoingRequest<R extends Rpc.Any> extends Readonly<{
readonly context: Context<Context<R>>;
readonly envelope: Request<R>;
readonly lastReceivedReply: Option<Reply<R>>;
readonly respond: (reply: Reply<R>) => Effect<void>;
readonly rpc: R;
}> & {
readonly _tag: "OutgoingRequest";
} & Pipeable {
constructor<R extends Any>(args: {
readonly context: Context<Context<R>>;
readonly envelope: Request<R>;
readonly lastReceivedReply: Option<Reply<R>>;
readonly respond: (reply: Reply<R>) => Effect<void>;
readonly rpc: R;
});
encodedCache?: PartialEncoded;
}

Serialization / Deserialization

Signature

declare function deserializeLocal<Rpc extends Any>(
self: Outgoing<Rpc>,
encoded: PartialEncoded,
): Effect<IncomingLocal<Rpc>, MalformedMessage>;

serialize

Added in v1.0.0 Source

Signature

declare function serialize<Rpc extends Any>(
message: Outgoing<Rpc>,
): Effect<PartialEncoded, MalformedMessage>;

Signature

declare function serializeEnvelope<Rpc extends Any>(
message: Outgoing<Rpc>,
): Effect<Encoded, MalformedMessage>;

Signature

declare function serializeRequest<Rpc extends Any>(
self: OutgoingRequest<Rpc>,
): Effect<PartialEncoded, MalformedMessage>;