Documentation
¶
Overview ¶
Package remote provides access to actors across a network or other I/O connection.
Index ¶
- Constants
- Variables
- func Deserialize(message []byte, typeName string, serializerID int32) (interface{}, error)
- func RegisterRemotingServer(s grpc.ServiceRegistrar, srv RemotingServer)
- func RegisterSerializer(serializer Serializer)
- func Serialize(message interface{}, serializerID int32) ([]byte, string, error)
- type ActivatorError
- type ActorPidRequest
- func (*ActorPidRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ActorPidRequest) GetKind() string
- func (x *ActorPidRequest) GetName() string
- func (*ActorPidRequest) ProtoMessage()
- func (x *ActorPidRequest) ProtoReflect() protoreflect.Message
- func (x *ActorPidRequest) Reset()
- func (x *ActorPidRequest) String() string
- type ActorPidResponse
- func (*ActorPidResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ActorPidResponse) GetPid() *actor.PID
- func (x *ActorPidResponse) GetStatusCode() int32
- func (*ActorPidResponse) ProtoMessage()
- func (x *ActorPidResponse) ProtoReflect() protoreflect.Message
- func (x *ActorPidResponse) Reset()
- func (x *ActorPidResponse) String() string
- type BlockList
- type ClientConnection
- type Config
- type ConfigOption
- func WithAdvertisedHost(address string) ConfigOption
- func WithCallOptions(options ...grpc.CallOption) ConfigOption
- func WithDialOptions(options ...grpc.DialOption) ConfigOption
- func WithEndpointManagerBatchSize(batchSize int) ConfigOption
- func WithEndpointManagerQueueSize(queueSize int) ConfigOption
- func WithEndpointWriterBatchSize(batchSize int) ConfigOption
- func WithEndpointWriterQueueSize(queueSize int) ConfigOption
- func WithKinds(kinds ...*Kind) ConfigOption
- func WithServerOptions(options ...grpc.ServerOption) ConfigOption
- type ConnectRequest
- func (*ConnectRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ConnectRequest) GetClientConnection() *ClientConnection
- func (x *ConnectRequest) GetConnectionType() isConnectRequest_ConnectionType
- func (x *ConnectRequest) GetServerConnection() *ServerConnection
- func (*ConnectRequest) ProtoMessage()
- func (x *ConnectRequest) ProtoReflect() protoreflect.Message
- func (x *ConnectRequest) Reset()
- func (x *ConnectRequest) String() string
- type ConnectRequest_ClientConnection
- type ConnectRequest_ServerConnection
- type ConnectResponse
- func (*ConnectResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ConnectResponse) GetBlocked() bool
- func (x *ConnectResponse) GetMemberId() string
- func (*ConnectResponse) ProtoMessage()
- func (x *ConnectResponse) ProtoReflect() protoreflect.Message
- func (x *ConnectResponse) Reset()
- func (x *ConnectResponse) String() string
- type DisconnectRequest
- type EndpointConnectedEvent
- type EndpointTerminatedEvent
- type GetProcessDiagnosticsRequest
- func (*GetProcessDiagnosticsRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GetProcessDiagnosticsRequest) GetPid() *actor.PID
- func (*GetProcessDiagnosticsRequest) ProtoMessage()
- func (x *GetProcessDiagnosticsRequest) ProtoReflect() protoreflect.Message
- func (x *GetProcessDiagnosticsRequest) Reset()
- func (x *GetProcessDiagnosticsRequest) String() string
- type GetProcessDiagnosticsResponse
- func (*GetProcessDiagnosticsResponse) Descriptor() ([]byte, []int)deprecated
- func (x *GetProcessDiagnosticsResponse) GetDiagnosticsString() string
- func (*GetProcessDiagnosticsResponse) ProtoMessage()
- func (x *GetProcessDiagnosticsResponse) ProtoReflect() protoreflect.Message
- func (x *GetProcessDiagnosticsResponse) Reset()
- func (x *GetProcessDiagnosticsResponse) String() string
- type JSONMessage
- type Kind
- type ListProcessesMatchType
- func (ListProcessesMatchType) Descriptor() protoreflect.EnumDescriptor
- func (x ListProcessesMatchType) Enum() *ListProcessesMatchType
- func (ListProcessesMatchType) EnumDescriptor() ([]byte, []int)deprecated
- func (x ListProcessesMatchType) Number() protoreflect.EnumNumber
- func (x ListProcessesMatchType) String() string
- func (ListProcessesMatchType) Type() protoreflect.EnumType
- type ListProcessesRequest
- func (*ListProcessesRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ListProcessesRequest) GetPattern() string
- func (x *ListProcessesRequest) GetType() ListProcessesMatchType
- func (*ListProcessesRequest) ProtoMessage()
- func (x *ListProcessesRequest) ProtoReflect() protoreflect.Message
- func (x *ListProcessesRequest) Reset()
- func (x *ListProcessesRequest) String() string
- type ListProcessesResponse
- func (*ListProcessesResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ListProcessesResponse) GetPids() []*actor.PID
- func (*ListProcessesResponse) ProtoMessage()
- func (x *ListProcessesResponse) ProtoReflect() protoreflect.Message
- func (x *ListProcessesResponse) Reset()
- func (x *ListProcessesResponse) String() string
- type MessageBatch
- func (*MessageBatch) Descriptor() ([]byte, []int)deprecated
- func (x *MessageBatch) GetEnvelopes() []*MessageEnvelope
- func (x *MessageBatch) GetSenders() []*actor.PID
- func (x *MessageBatch) GetTargets() []string
- func (x *MessageBatch) GetTypeNames() []string
- func (*MessageBatch) ProtoMessage()
- func (x *MessageBatch) ProtoReflect() protoreflect.Message
- func (x *MessageBatch) Reset()
- func (x *MessageBatch) String() string
- type MessageEnvelope
- func (*MessageEnvelope) Descriptor() ([]byte, []int)deprecated
- func (x *MessageEnvelope) GetMessageData() []byte
- func (x *MessageEnvelope) GetMessageHeader() *MessageHeader
- func (x *MessageEnvelope) GetSender() int32
- func (x *MessageEnvelope) GetSenderRequestId() uint32
- func (x *MessageEnvelope) GetSerializerId() int32
- func (x *MessageEnvelope) GetTarget() int32
- func (x *MessageEnvelope) GetTargetRequestId() uint32
- func (x *MessageEnvelope) GetTypeId() int32
- func (*MessageEnvelope) ProtoMessage()
- func (x *MessageEnvelope) ProtoReflect() protoreflect.Message
- func (x *MessageEnvelope) Reset()
- func (x *MessageEnvelope) String() string
- type MessageHeader
- type Ping
- type Pong
- type Remote
- func (r *Remote) ActivatorForAddress(address string) *actor.PID
- func (r *Remote) BlockList() *BlockList
- func (r *Remote) ExtensionID() extensions.ExtensionID
- func (r *Remote) GetKnownKinds() []string
- func (r *Remote) Logger() *slog.Logger
- func (r *Remote) Register(kind string, props *actor.Props)
- func (r *Remote) SendMessage(pid *actor.PID, header actor.ReadonlyMessageHeader, message interface{}, ...)
- func (r *Remote) Shutdown(graceful bool)
- func (r *Remote) Spawn(address, kind string, timeout time.Duration) (*ActorPidResponse, error)
- func (r *Remote) SpawnFuture(address, name, kind string, timeout time.Duration) actor.Future
- func (r *Remote) SpawnNamed(address, name, kind string, timeout time.Duration) (*ActorPidResponse, error)
- func (r *Remote) Start()
- type RemoteMessage
- func (*RemoteMessage) Descriptor() ([]byte, []int)deprecated
- func (x *RemoteMessage) GetConnectRequest() *ConnectRequest
- func (x *RemoteMessage) GetConnectResponse() *ConnectResponse
- func (x *RemoteMessage) GetDisconnectRequest() *DisconnectRequest
- func (x *RemoteMessage) GetMessageBatch() *MessageBatch
- func (x *RemoteMessage) GetMessageType() isRemoteMessage_MessageType
- func (*RemoteMessage) ProtoMessage()
- func (x *RemoteMessage) ProtoReflect() protoreflect.Message
- func (x *RemoteMessage) Reset()
- func (x *RemoteMessage) String() string
- type RemoteMessage_ConnectRequest
- type RemoteMessage_ConnectResponse
- type RemoteMessage_DisconnectRequest
- type RemoteMessage_MessageBatch
- type RemotingClient
- type RemotingServer
- type Remoting_ReceiveClient
- type Remoting_ReceiveServer
- type ResponseError
- type ResponseStatusCode
- type RootSerializable
- type RootSerialized
- type Serializer
- type ServerConnection
- func (*ServerConnection) Descriptor() ([]byte, []int)deprecated
- func (x *ServerConnection) GetAddress() string
- func (x *ServerConnection) GetBlockList() []string
- func (x *ServerConnection) GetMemberId() string
- func (*ServerConnection) ProtoMessage()
- func (x *ServerConnection) ProtoReflect() protoreflect.Message
- func (x *ServerConnection) Reset()
- func (x *ServerConnection) String() string
- type UnimplementedRemotingServer
- func (UnimplementedRemotingServer) GetProcessDiagnostics(context.Context, *GetProcessDiagnosticsRequest) (*GetProcessDiagnosticsResponse, error)
- func (UnimplementedRemotingServer) ListProcesses(context.Context, *ListProcessesRequest) (*ListProcessesResponse, error)
- func (UnimplementedRemotingServer) Receive(grpc.BidiStreamingServer[RemoteMessage, RemoteMessage]) error
- type UnsafeRemotingServer
Constants ¶
const ( Remoting_Receive_FullMethodName = "/remote.Remoting/Receive" Remoting_ListProcesses_FullMethodName = "/remote.Remoting/ListProcesses" Remoting_GetProcessDiagnostics_FullMethodName = "/remote.Remoting/GetProcessDiagnostics" )
Variables ¶
var ( // ErrUnAvailable is returned when the remote endpoint is unavailable. ErrUnAvailable = &ResponseError{ResponseStatusCodeUNAVAILABLE} // ErrTimeout is returned when a remote call times out. ErrTimeout = &ResponseError{ResponseStatusCodeTIMEOUT} // ErrProcessNameAlreadyExist indicates a process name conflict. ErrProcessNameAlreadyExist = &ResponseError{ResponseStatusCodePROCESSNAMEALREADYEXIST} // ErrDeadLetter is returned when the target PID cannot be found. ErrDeadLetter = &ResponseError{ResponseStatusCodeDeadLetter} // ErrUnknownError represents an unspecified remote error. ErrUnknownError = &ResponseError{ResponseStatusCodeERROR} )
var ( // ActorPidRespErr is returned when spawning an actor results in an error. ActorPidRespErr interface{} = &ActorPidResponse{StatusCode: ResponseStatusCodeERROR.ToInt32()} // ActorPidRespTimeout is returned when spawning an actor times out. ActorPidRespTimeout interface{} = &ActorPidResponse{StatusCode: ResponseStatusCodeTIMEOUT.ToInt32()} ActorPidRespUnavailable interface{} = &ActorPidResponse{StatusCode: ResponseStatusCodeUNAVAILABLE.ToInt32()} )
var ( ListProcessesMatchType_name = map[int32]string{ 0: "MatchPartOfString", 1: "MatchExactString", 2: "MatchRegex", } ListProcessesMatchType_value = map[string]int32{ "MatchPartOfString": 0, "MatchExactString": 1, "MatchRegex": 2, } )
Enum value maps for ListProcessesMatchType.
var ( // DefaultSerializerID is used when no specific serializer is requested. DefaultSerializerID int32 )
ErrActivatorUnavailable : this error will not panic the Activator. It simply tells Partition this Activator is not available Partition will then find next available Activator to spawn
var File_remote_proto protoreflect.FileDescriptor
var Remoting_ServiceDesc = grpc.ServiceDesc{ ServiceName: "remote.Remoting", HandlerType: (*RemotingServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "ListProcesses", Handler: _Remoting_ListProcesses_Handler, }, { MethodName: "GetProcessDiagnostics", Handler: _Remoting_GetProcessDiagnostics_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "Receive", Handler: _Remoting_Receive_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "remote.proto", }
Remoting_ServiceDesc is the grpc.ServiceDesc for Remoting service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func Deserialize ¶
Deserialize decodes a message using the specified serializer. An error is returned if the serializerID is out of range or deserialization fails.
func RegisterRemotingServer ¶
func RegisterRemotingServer(s grpc.ServiceRegistrar, srv RemotingServer)
func RegisterSerializer ¶
func RegisterSerializer(serializer Serializer)
RegisterSerializer registers a Serializer implementation.
Types ¶
type ActivatorError ¶
ActivatorError represents an error returned from the activator and controls whether the activator should panic when it occurs.
func (*ActivatorError) Error ¶
func (e *ActivatorError) Error() string
type ActorPidRequest ¶
type ActorPidRequest struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"`
// contains filtered or unexported fields
}
func (*ActorPidRequest) Descriptor
deprecated
func (*ActorPidRequest) Descriptor() ([]byte, []int)
Deprecated: Use ActorPidRequest.ProtoReflect.Descriptor instead.
func (*ActorPidRequest) GetKind ¶
func (x *ActorPidRequest) GetKind() string
func (*ActorPidRequest) GetName ¶
func (x *ActorPidRequest) GetName() string
func (*ActorPidRequest) ProtoMessage ¶
func (*ActorPidRequest) ProtoMessage()
func (*ActorPidRequest) ProtoReflect ¶
func (x *ActorPidRequest) ProtoReflect() protoreflect.Message
func (*ActorPidRequest) Reset ¶
func (x *ActorPidRequest) Reset()
func (*ActorPidRequest) String ¶
func (x *ActorPidRequest) String() string
type ActorPidResponse ¶
type ActorPidResponse struct {
Pid *actor.PID `protobuf:"bytes,1,opt,name=pid,proto3" json:"pid,omitempty"`
StatusCode int32 `protobuf:"varint,2,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"`
// contains filtered or unexported fields
}
func (*ActorPidResponse) Descriptor
deprecated
func (*ActorPidResponse) Descriptor() ([]byte, []int)
Deprecated: Use ActorPidResponse.ProtoReflect.Descriptor instead.
func (*ActorPidResponse) GetPid ¶
func (x *ActorPidResponse) GetPid() *actor.PID
func (*ActorPidResponse) GetStatusCode ¶
func (x *ActorPidResponse) GetStatusCode() int32
func (*ActorPidResponse) ProtoMessage ¶
func (*ActorPidResponse) ProtoMessage()
func (*ActorPidResponse) ProtoReflect ¶
func (x *ActorPidResponse) ProtoReflect() protoreflect.Message
func (*ActorPidResponse) Reset ¶
func (x *ActorPidResponse) Reset()
func (*ActorPidResponse) String ¶
func (x *ActorPidResponse) String() string
type BlockList ¶
type BlockList struct {
// contains filtered or unexported fields
}
BlockList keeps track of blocked cluster member IDs.
func (*BlockList) BlockedMembers ¶
BlockedMembers returns the set of blocked member IDs.
type ClientConnection ¶
type ClientConnection struct {
MemberId string `protobuf:"bytes,1,opt,name=member_id,json=memberId,proto3" json:"member_id,omitempty"`
// contains filtered or unexported fields
}
func (*ClientConnection) Descriptor
deprecated
func (*ClientConnection) Descriptor() ([]byte, []int)
Deprecated: Use ClientConnection.ProtoReflect.Descriptor instead.
func (*ClientConnection) GetMemberId ¶
func (x *ClientConnection) GetMemberId() string
func (*ClientConnection) ProtoMessage ¶
func (*ClientConnection) ProtoMessage()
func (*ClientConnection) ProtoReflect ¶
func (x *ClientConnection) ProtoReflect() protoreflect.Message
func (*ClientConnection) Reset ¶
func (x *ClientConnection) Reset()
func (*ClientConnection) String ¶
func (x *ClientConnection) String() string
type Config ¶
type Config struct {
Host string
Port int
AdvertisedHost string
ServerOptions []grpc.ServerOption
CallOptions []grpc.CallOption
DialOptions []grpc.DialOption
EndpointWriterBatchSize int
EndpointWriterQueueSize int
EndpointManagerBatchSize int
EndpointManagerQueueSize int
Kinds map[string]*actor.Props
MaxRetryCount int
}
Config is the configuration for the remote
type ConfigOption ¶
type ConfigOption func(config *Config)
ConfigOption configures a Remote instance.
func WithAdvertisedHost ¶
func WithAdvertisedHost(address string) ConfigOption
WithAdvertisedHost sets the advertised host for the remote
func WithCallOptions ¶
func WithCallOptions(options ...grpc.CallOption) ConfigOption
WithCallOptions sets the call options for the remote
func WithDialOptions ¶
func WithDialOptions(options ...grpc.DialOption) ConfigOption
WithDialOptions sets the dial options for the remote
func WithEndpointManagerBatchSize ¶
func WithEndpointManagerBatchSize(batchSize int) ConfigOption
WithEndpointManagerBatchSize sets the batch size for the endpoint manager
func WithEndpointManagerQueueSize ¶
func WithEndpointManagerQueueSize(queueSize int) ConfigOption
WithEndpointManagerQueueSize sets the queue size for the endpoint manager
func WithEndpointWriterBatchSize ¶
func WithEndpointWriterBatchSize(batchSize int) ConfigOption
WithEndpointWriterBatchSize sets the batch size for the endpoint writer
func WithEndpointWriterQueueSize ¶
func WithEndpointWriterQueueSize(queueSize int) ConfigOption
WithEndpointWriterQueueSize sets the queue size for the endpoint writer
func WithServerOptions ¶
func WithServerOptions(options ...grpc.ServerOption) ConfigOption
WithServerOptions sets the server options for the remote
type ConnectRequest ¶
type ConnectRequest struct {
// Types that are valid to be assigned to ConnectionType:
//
// *ConnectRequest_ClientConnection
// *ConnectRequest_ServerConnection
ConnectionType isConnectRequest_ConnectionType `protobuf_oneof:"connection_type"`
// contains filtered or unexported fields
}
func (*ConnectRequest) Descriptor
deprecated
func (*ConnectRequest) Descriptor() ([]byte, []int)
Deprecated: Use ConnectRequest.ProtoReflect.Descriptor instead.
func (*ConnectRequest) GetClientConnection ¶
func (x *ConnectRequest) GetClientConnection() *ClientConnection
func (*ConnectRequest) GetConnectionType ¶
func (x *ConnectRequest) GetConnectionType() isConnectRequest_ConnectionType
func (*ConnectRequest) GetServerConnection ¶
func (x *ConnectRequest) GetServerConnection() *ServerConnection
func (*ConnectRequest) ProtoMessage ¶
func (*ConnectRequest) ProtoMessage()
func (*ConnectRequest) ProtoReflect ¶
func (x *ConnectRequest) ProtoReflect() protoreflect.Message
func (*ConnectRequest) Reset ¶
func (x *ConnectRequest) Reset()
func (*ConnectRequest) String ¶
func (x *ConnectRequest) String() string
type ConnectRequest_ClientConnection ¶
type ConnectRequest_ClientConnection struct {
ClientConnection *ClientConnection `protobuf:"bytes,1,opt,name=client_connection,json=clientConnection,proto3,oneof"`
}
type ConnectRequest_ServerConnection ¶
type ConnectRequest_ServerConnection struct {
ServerConnection *ServerConnection `protobuf:"bytes,2,opt,name=server_connection,json=serverConnection,proto3,oneof"`
}
type ConnectResponse ¶
type ConnectResponse struct {
MemberId string `protobuf:"bytes,2,opt,name=member_id,json=memberId,proto3" json:"member_id,omitempty"`
Blocked bool `protobuf:"varint,3,opt,name=blocked,proto3" json:"blocked,omitempty"`
// contains filtered or unexported fields
}
func (*ConnectResponse) Descriptor
deprecated
func (*ConnectResponse) Descriptor() ([]byte, []int)
Deprecated: Use ConnectResponse.ProtoReflect.Descriptor instead.
func (*ConnectResponse) GetBlocked ¶
func (x *ConnectResponse) GetBlocked() bool
func (*ConnectResponse) GetMemberId ¶
func (x *ConnectResponse) GetMemberId() string
func (*ConnectResponse) ProtoMessage ¶
func (*ConnectResponse) ProtoMessage()
func (*ConnectResponse) ProtoReflect ¶
func (x *ConnectResponse) ProtoReflect() protoreflect.Message
func (*ConnectResponse) Reset ¶
func (x *ConnectResponse) Reset()
func (*ConnectResponse) String ¶
func (x *ConnectResponse) String() string
type DisconnectRequest ¶
type DisconnectRequest struct {
// contains filtered or unexported fields
}
func (*DisconnectRequest) Descriptor
deprecated
func (*DisconnectRequest) Descriptor() ([]byte, []int)
Deprecated: Use DisconnectRequest.ProtoReflect.Descriptor instead.
func (*DisconnectRequest) ProtoMessage ¶
func (*DisconnectRequest) ProtoMessage()
func (*DisconnectRequest) ProtoReflect ¶
func (x *DisconnectRequest) ProtoReflect() protoreflect.Message
func (*DisconnectRequest) Reset ¶
func (x *DisconnectRequest) Reset()
func (*DisconnectRequest) String ¶
func (x *DisconnectRequest) String() string
type EndpointConnectedEvent ¶
type EndpointConnectedEvent struct {
Address string
}
EndpointConnectedEvent is published when a remote endpoint establishes a connection.
type EndpointTerminatedEvent ¶
type EndpointTerminatedEvent struct {
Address string
}
EndpointTerminatedEvent is published when a remote endpoint terminates.
type GetProcessDiagnosticsRequest ¶
type GetProcessDiagnosticsRequest struct {
Pid *actor.PID `protobuf:"bytes,1,opt,name=pid,proto3" json:"pid,omitempty"`
// contains filtered or unexported fields
}
func (*GetProcessDiagnosticsRequest) Descriptor
deprecated
func (*GetProcessDiagnosticsRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetProcessDiagnosticsRequest.ProtoReflect.Descriptor instead.
func (*GetProcessDiagnosticsRequest) GetPid ¶
func (x *GetProcessDiagnosticsRequest) GetPid() *actor.PID
func (*GetProcessDiagnosticsRequest) ProtoMessage ¶
func (*GetProcessDiagnosticsRequest) ProtoMessage()
func (*GetProcessDiagnosticsRequest) ProtoReflect ¶
func (x *GetProcessDiagnosticsRequest) ProtoReflect() protoreflect.Message
func (*GetProcessDiagnosticsRequest) Reset ¶
func (x *GetProcessDiagnosticsRequest) Reset()
func (*GetProcessDiagnosticsRequest) String ¶
func (x *GetProcessDiagnosticsRequest) String() string
type GetProcessDiagnosticsResponse ¶
type GetProcessDiagnosticsResponse struct {
DiagnosticsString string `protobuf:"bytes,1,opt,name=diagnostics_string,json=diagnosticsString,proto3" json:"diagnostics_string,omitempty"`
// contains filtered or unexported fields
}
func (*GetProcessDiagnosticsResponse) Descriptor
deprecated
func (*GetProcessDiagnosticsResponse) Descriptor() ([]byte, []int)
Deprecated: Use GetProcessDiagnosticsResponse.ProtoReflect.Descriptor instead.
func (*GetProcessDiagnosticsResponse) GetDiagnosticsString ¶
func (x *GetProcessDiagnosticsResponse) GetDiagnosticsString() string
func (*GetProcessDiagnosticsResponse) ProtoMessage ¶
func (*GetProcessDiagnosticsResponse) ProtoMessage()
func (*GetProcessDiagnosticsResponse) ProtoReflect ¶
func (x *GetProcessDiagnosticsResponse) ProtoReflect() protoreflect.Message
func (*GetProcessDiagnosticsResponse) Reset ¶
func (x *GetProcessDiagnosticsResponse) Reset()
func (*GetProcessDiagnosticsResponse) String ¶
func (x *GetProcessDiagnosticsResponse) String() string
type JSONMessage ¶
JSONMessage carries a JSON encoded payload and its type name.
type ListProcessesMatchType ¶
type ListProcessesMatchType int32
const ( ListProcessesMatchType_MatchPartOfString ListProcessesMatchType = 0 ListProcessesMatchType_MatchExactString ListProcessesMatchType = 1 ListProcessesMatchType_MatchRegex ListProcessesMatchType = 2 )
func (ListProcessesMatchType) Descriptor ¶
func (ListProcessesMatchType) Descriptor() protoreflect.EnumDescriptor
func (ListProcessesMatchType) Enum ¶
func (x ListProcessesMatchType) Enum() *ListProcessesMatchType
func (ListProcessesMatchType) EnumDescriptor
deprecated
func (ListProcessesMatchType) EnumDescriptor() ([]byte, []int)
Deprecated: Use ListProcessesMatchType.Descriptor instead.
func (ListProcessesMatchType) Number ¶
func (x ListProcessesMatchType) Number() protoreflect.EnumNumber
func (ListProcessesMatchType) String ¶
func (x ListProcessesMatchType) String() string
func (ListProcessesMatchType) Type ¶
func (ListProcessesMatchType) Type() protoreflect.EnumType
type ListProcessesRequest ¶
type ListProcessesRequest struct {
Pattern string `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"`
Type ListProcessesMatchType `protobuf:"varint,2,opt,name=type,proto3,enum=remote.ListProcessesMatchType" json:"type,omitempty"`
// contains filtered or unexported fields
}
func (*ListProcessesRequest) Descriptor
deprecated
func (*ListProcessesRequest) Descriptor() ([]byte, []int)
Deprecated: Use ListProcessesRequest.ProtoReflect.Descriptor instead.
func (*ListProcessesRequest) GetPattern ¶
func (x *ListProcessesRequest) GetPattern() string
func (*ListProcessesRequest) GetType ¶
func (x *ListProcessesRequest) GetType() ListProcessesMatchType
func (*ListProcessesRequest) ProtoMessage ¶
func (*ListProcessesRequest) ProtoMessage()
func (*ListProcessesRequest) ProtoReflect ¶
func (x *ListProcessesRequest) ProtoReflect() protoreflect.Message
func (*ListProcessesRequest) Reset ¶
func (x *ListProcessesRequest) Reset()
func (*ListProcessesRequest) String ¶
func (x *ListProcessesRequest) String() string
type ListProcessesResponse ¶
type ListProcessesResponse struct {
Pids []*actor.PID `protobuf:"bytes,1,rep,name=pids,proto3" json:"pids,omitempty"`
// contains filtered or unexported fields
}
func (*ListProcessesResponse) Descriptor
deprecated
func (*ListProcessesResponse) Descriptor() ([]byte, []int)
Deprecated: Use ListProcessesResponse.ProtoReflect.Descriptor instead.
func (*ListProcessesResponse) GetPids ¶
func (x *ListProcessesResponse) GetPids() []*actor.PID
func (*ListProcessesResponse) ProtoMessage ¶
func (*ListProcessesResponse) ProtoMessage()
func (*ListProcessesResponse) ProtoReflect ¶
func (x *ListProcessesResponse) ProtoReflect() protoreflect.Message
func (*ListProcessesResponse) Reset ¶
func (x *ListProcessesResponse) Reset()
func (*ListProcessesResponse) String ¶
func (x *ListProcessesResponse) String() string
type MessageBatch ¶
type MessageBatch struct {
TypeNames []string `protobuf:"bytes,1,rep,name=type_names,json=typeNames,proto3" json:"type_names,omitempty"`
Targets []string `protobuf:"bytes,2,rep,name=targets,proto3" json:"targets,omitempty"`
Envelopes []*MessageEnvelope `protobuf:"bytes,3,rep,name=envelopes,proto3" json:"envelopes,omitempty"`
Senders []*actor.PID `protobuf:"bytes,4,rep,name=senders,proto3" json:"senders,omitempty"`
// contains filtered or unexported fields
}
func (*MessageBatch) Descriptor
deprecated
func (*MessageBatch) Descriptor() ([]byte, []int)
Deprecated: Use MessageBatch.ProtoReflect.Descriptor instead.
func (*MessageBatch) GetEnvelopes ¶
func (x *MessageBatch) GetEnvelopes() []*MessageEnvelope
func (*MessageBatch) GetSenders ¶
func (x *MessageBatch) GetSenders() []*actor.PID
func (*MessageBatch) GetTargets ¶
func (x *MessageBatch) GetTargets() []string
func (*MessageBatch) GetTypeNames ¶
func (x *MessageBatch) GetTypeNames() []string
func (*MessageBatch) ProtoMessage ¶
func (*MessageBatch) ProtoMessage()
func (*MessageBatch) ProtoReflect ¶
func (x *MessageBatch) ProtoReflect() protoreflect.Message
func (*MessageBatch) Reset ¶
func (x *MessageBatch) Reset()
func (*MessageBatch) String ¶
func (x *MessageBatch) String() string
type MessageEnvelope ¶
type MessageEnvelope struct {
TypeId int32 `protobuf:"varint,1,opt,name=type_id,json=typeId,proto3" json:"type_id,omitempty"`
MessageData []byte `protobuf:"bytes,2,opt,name=message_data,json=messageData,proto3" json:"message_data,omitempty"`
Target int32 `protobuf:"varint,3,opt,name=target,proto3" json:"target,omitempty"`
Sender int32 `protobuf:"varint,4,opt,name=sender,proto3" json:"sender,omitempty"`
SerializerId int32 `protobuf:"varint,5,opt,name=serializer_id,json=serializerId,proto3" json:"serializer_id,omitempty"`
MessageHeader *MessageHeader `protobuf:"bytes,6,opt,name=message_header,json=messageHeader,proto3" json:"message_header,omitempty"`
TargetRequestId uint32 `protobuf:"varint,7,opt,name=target_request_id,json=targetRequestId,proto3" json:"target_request_id,omitempty"`
SenderRequestId uint32 `protobuf:"varint,8,opt,name=sender_request_id,json=senderRequestId,proto3" json:"sender_request_id,omitempty"`
// contains filtered or unexported fields
}
func (*MessageEnvelope) Descriptor
deprecated
func (*MessageEnvelope) Descriptor() ([]byte, []int)
Deprecated: Use MessageEnvelope.ProtoReflect.Descriptor instead.
func (*MessageEnvelope) GetMessageData ¶
func (x *MessageEnvelope) GetMessageData() []byte
func (*MessageEnvelope) GetMessageHeader ¶
func (x *MessageEnvelope) GetMessageHeader() *MessageHeader
func (*MessageEnvelope) GetSender ¶
func (x *MessageEnvelope) GetSender() int32
func (*MessageEnvelope) GetSenderRequestId ¶
func (x *MessageEnvelope) GetSenderRequestId() uint32
func (*MessageEnvelope) GetSerializerId ¶
func (x *MessageEnvelope) GetSerializerId() int32
func (*MessageEnvelope) GetTarget ¶
func (x *MessageEnvelope) GetTarget() int32
func (*MessageEnvelope) GetTargetRequestId ¶
func (x *MessageEnvelope) GetTargetRequestId() uint32
func (*MessageEnvelope) GetTypeId ¶
func (x *MessageEnvelope) GetTypeId() int32
func (*MessageEnvelope) ProtoMessage ¶
func (*MessageEnvelope) ProtoMessage()
func (*MessageEnvelope) ProtoReflect ¶
func (x *MessageEnvelope) ProtoReflect() protoreflect.Message
func (*MessageEnvelope) Reset ¶
func (x *MessageEnvelope) Reset()
func (*MessageEnvelope) String ¶
func (x *MessageEnvelope) String() string
type MessageHeader ¶
type MessageHeader struct {
HeaderData map[string]string `` /* 165-byte string literal not displayed */
// contains filtered or unexported fields
}
func (*MessageHeader) Descriptor
deprecated
func (*MessageHeader) Descriptor() ([]byte, []int)
Deprecated: Use MessageHeader.ProtoReflect.Descriptor instead.
func (*MessageHeader) GetHeaderData ¶
func (x *MessageHeader) GetHeaderData() map[string]string
func (*MessageHeader) ProtoMessage ¶
func (*MessageHeader) ProtoMessage()
func (*MessageHeader) ProtoReflect ¶
func (x *MessageHeader) ProtoReflect() protoreflect.Message
func (*MessageHeader) Reset ¶
func (x *MessageHeader) Reset()
func (*MessageHeader) String ¶
func (x *MessageHeader) String() string
type Ping ¶
type Ping struct{}
Ping is message sent by the actor system to probe an actor is started.
type Remote ¶
type Remote struct {
// contains filtered or unexported fields
}
Remote enables communication between actors across network boundaries.
func GetRemote ¶
func GetRemote(actorSystem *actor.ActorSystem) *Remote
GetRemote retrieves the Remote extension from the actor system.
func NewRemote ¶
func NewRemote(actorSystem *actor.ActorSystem, config *Config) *Remote
NewRemote creates a new Remote extension for the given actor system.
func (*Remote) ActivatorForAddress ¶
ActivatorForAddress returns a PID for the activator at the given address
func (*Remote) ExtensionID ¶
func (r *Remote) ExtensionID() extensions.ExtensionID
ExtensionID returns the unique ID of the Remote extension.
func (*Remote) GetKnownKinds ¶
GetKnownKinds returns a slice of known actor "Kinds"
func (*Remote) SendMessage ¶
func (r *Remote) SendMessage(pid *actor.PID, header actor.ReadonlyMessageHeader, message interface{}, sender *actor.PID, serializerID int32)
SendMessage delivers the given message to the target PID using remoting.
func (*Remote) Shutdown ¶
Shutdown stops the remote server. If graceful is true it waits for running requests to finish.
func (*Remote) SpawnFuture ¶
SpawnFuture spawns a remote actor and returns a Future that completes once the actor is started
func (*Remote) SpawnNamed ¶
func (r *Remote) SpawnNamed(address, name, kind string, timeout time.Duration) (*ActorPidResponse, error)
SpawnNamed spawns a named remote actor of a given type at a given address
type RemoteMessage ¶
type RemoteMessage struct {
// Types that are valid to be assigned to MessageType:
//
// *RemoteMessage_MessageBatch
// *RemoteMessage_ConnectRequest
// *RemoteMessage_ConnectResponse
// *RemoteMessage_DisconnectRequest
MessageType isRemoteMessage_MessageType `protobuf_oneof:"message_type"`
// contains filtered or unexported fields
}
func (*RemoteMessage) Descriptor
deprecated
func (*RemoteMessage) Descriptor() ([]byte, []int)
Deprecated: Use RemoteMessage.ProtoReflect.Descriptor instead.
func (*RemoteMessage) GetConnectRequest ¶
func (x *RemoteMessage) GetConnectRequest() *ConnectRequest
func (*RemoteMessage) GetConnectResponse ¶
func (x *RemoteMessage) GetConnectResponse() *ConnectResponse
func (*RemoteMessage) GetDisconnectRequest ¶
func (x *RemoteMessage) GetDisconnectRequest() *DisconnectRequest
func (*RemoteMessage) GetMessageBatch ¶
func (x *RemoteMessage) GetMessageBatch() *MessageBatch
func (*RemoteMessage) GetMessageType ¶
func (x *RemoteMessage) GetMessageType() isRemoteMessage_MessageType
func (*RemoteMessage) ProtoMessage ¶
func (*RemoteMessage) ProtoMessage()
func (*RemoteMessage) ProtoReflect ¶
func (x *RemoteMessage) ProtoReflect() protoreflect.Message
func (*RemoteMessage) Reset ¶
func (x *RemoteMessage) Reset()
func (*RemoteMessage) String ¶
func (x *RemoteMessage) String() string
type RemoteMessage_ConnectRequest ¶
type RemoteMessage_ConnectRequest struct {
ConnectRequest *ConnectRequest `protobuf:"bytes,2,opt,name=connect_request,json=connectRequest,proto3,oneof"`
}
type RemoteMessage_ConnectResponse ¶
type RemoteMessage_ConnectResponse struct {
ConnectResponse *ConnectResponse `protobuf:"bytes,3,opt,name=connect_response,json=connectResponse,proto3,oneof"`
}
type RemoteMessage_DisconnectRequest ¶
type RemoteMessage_DisconnectRequest struct {
DisconnectRequest *DisconnectRequest `protobuf:"bytes,4,opt,name=disconnect_request,json=disconnectRequest,proto3,oneof"`
}
type RemoteMessage_MessageBatch ¶
type RemoteMessage_MessageBatch struct {
MessageBatch *MessageBatch `protobuf:"bytes,1,opt,name=message_batch,json=messageBatch,proto3,oneof"`
}
type RemotingClient ¶
type RemotingClient interface {
Receive(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[RemoteMessage, RemoteMessage], error)
ListProcesses(ctx context.Context, in *ListProcessesRequest, opts ...grpc.CallOption) (*ListProcessesResponse, error)
GetProcessDiagnostics(ctx context.Context, in *GetProcessDiagnosticsRequest, opts ...grpc.CallOption) (*GetProcessDiagnosticsResponse, error)
}
RemotingClient is the client API for Remoting service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
func NewRemotingClient ¶
func NewRemotingClient(cc grpc.ClientConnInterface) RemotingClient
type RemotingServer ¶
type RemotingServer interface {
Receive(grpc.BidiStreamingServer[RemoteMessage, RemoteMessage]) error
ListProcesses(context.Context, *ListProcessesRequest) (*ListProcessesResponse, error)
GetProcessDiagnostics(context.Context, *GetProcessDiagnosticsRequest) (*GetProcessDiagnosticsResponse, error)
// contains filtered or unexported methods
}
RemotingServer is the server API for Remoting service. All implementations must embed UnimplementedRemotingServer for forward compatibility.
type Remoting_ReceiveClient ¶
type Remoting_ReceiveClient = grpc.BidiStreamingClient[RemoteMessage, RemoteMessage]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type Remoting_ReceiveServer ¶
type Remoting_ReceiveServer = grpc.BidiStreamingServer[RemoteMessage, RemoteMessage]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type ResponseError ¶
type ResponseError struct {
Code ResponseStatusCode
}
ResponseError is an error type. e.g.:
var err = &ResponseError{1}
func (*ResponseError) Error ¶
func (r *ResponseError) Error() string
type ResponseStatusCode ¶
type ResponseStatusCode int32
ResponseStatusCode represents possible outcomes of remote operations.
const ( // ResponseStatusCodeOK indicates the operation completed successfully. ResponseStatusCodeOK ResponseStatusCode = iota // ResponseStatusCodeUNAVAILABLE indicates the remote endpoint was unavailable. ResponseStatusCodeUNAVAILABLE // ResponseStatusCodeTIMEOUT indicates the operation timed out. ResponseStatusCodeTIMEOUT // ResponseStatusCodePROCESSNAMEALREADYEXIST indicates a process name conflict. ResponseStatusCodePROCESSNAMEALREADYEXIST // ResponseStatusCodeERROR indicates an unspecified error occurred. ResponseStatusCodeERROR // ResponseStatusCodeDeadLetter indicates the target PID could not be found. ResponseStatusCodeDeadLetter // ResponseStatusCodeMAX is a boundary marker for the enum. ResponseStatusCodeMAX // just a boundary. )
func (ResponseStatusCode) AsError ¶
func (c ResponseStatusCode) AsError() *ResponseError
AsError converts the status code to a ResponseError.
func (ResponseStatusCode) String ¶
func (c ResponseStatusCode) String() string
func (ResponseStatusCode) ToInt32 ¶
func (c ResponseStatusCode) ToInt32() int32
ToInt32 converts the status code to its int32 representation.
type RootSerializable ¶
type RootSerializable interface {
// Serialize returns the on-the-wire representation of the message
// Message -> IRootSerialized -> ByteString
Serialize() (RootSerialized, error)
}
RootSerializable is the root level in-process representation of a message
type RootSerialized ¶
type RootSerialized interface {
// Deserialize returns the in-process representation of a message
// ByteString -> IRootSerialized -> Message
Deserialize() (RootSerializable, error)
}
RootSerialized is the root level on-the-wire representation of a message
type Serializer ¶
type Serializer interface {
Serialize(msg interface{}) ([]byte, error)
Deserialize(typeName string, bytes []byte) (interface{}, error)
GetTypeName(msg interface{}) (string, error)
}
Serializer defines how messages are encoded and decoded.
type ServerConnection ¶
type ServerConnection struct {
MemberId string `protobuf:"bytes,1,opt,name=member_id,json=memberId,proto3" json:"member_id,omitempty"`
Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
BlockList []string `protobuf:"bytes,3,rep,name=block_list,json=blockList,proto3" json:"block_list,omitempty"`
// contains filtered or unexported fields
}
func (*ServerConnection) Descriptor
deprecated
func (*ServerConnection) Descriptor() ([]byte, []int)
Deprecated: Use ServerConnection.ProtoReflect.Descriptor instead.
func (*ServerConnection) GetAddress ¶
func (x *ServerConnection) GetAddress() string
func (*ServerConnection) GetBlockList ¶
func (x *ServerConnection) GetBlockList() []string
func (*ServerConnection) GetMemberId ¶
func (x *ServerConnection) GetMemberId() string
func (*ServerConnection) ProtoMessage ¶
func (*ServerConnection) ProtoMessage()
func (*ServerConnection) ProtoReflect ¶
func (x *ServerConnection) ProtoReflect() protoreflect.Message
func (*ServerConnection) Reset ¶
func (x *ServerConnection) Reset()
func (*ServerConnection) String ¶
func (x *ServerConnection) String() string
type UnimplementedRemotingServer ¶
type UnimplementedRemotingServer struct{}
UnimplementedRemotingServer must be embedded to have forward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.
func (UnimplementedRemotingServer) GetProcessDiagnostics ¶
func (UnimplementedRemotingServer) GetProcessDiagnostics(context.Context, *GetProcessDiagnosticsRequest) (*GetProcessDiagnosticsResponse, error)
func (UnimplementedRemotingServer) ListProcesses ¶
func (UnimplementedRemotingServer) ListProcesses(context.Context, *ListProcessesRequest) (*ListProcessesResponse, error)
func (UnimplementedRemotingServer) Receive ¶
func (UnimplementedRemotingServer) Receive(grpc.BidiStreamingServer[RemoteMessage, RemoteMessage]) error
type UnsafeRemotingServer ¶
type UnsafeRemotingServer interface {
// contains filtered or unexported methods
}
UnsafeRemotingServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to RemotingServer will result in compilation errors.
Source Files
¶
- activator_actor.go
- blocklist.go
- config-opts.go
- config.go
- doc.go
- endpoint_manager.go
- endpoint_reader.go
- endpoint_watcher.go
- endpoint_writer.go
- endpoint_writer_mailbox.go
- errors.go
- json_serializer.go
- kind.go
- messages.go
- proto_serializer.go
- remote.pb.go
- remote_grpc.pb.go
- remote_handler.go
- remote_process.go
- response_status_code.go
- serializer.go
- server.go