Echo.Process

Echo.Process Client

Contents

class ClientMessageId Source #

Constructors

constructor ClientMessageId (long x) Source #

class ClientConnectionId Source #

Constructors

constructor ClientConnectionId (string value) Source #

Methods

method ClientConnectionId Generate (string remoteIp) Source #

Generate

Parameters

returns

class ClientConnection Source #

Fields

field ClientConnectionId Id Source #

field Action<ClientMessageDTO> Tell Source #

Properties

property DateTime LastAccess Source #

Methods

method ClientConnection New (ClientConnectionId id, Action<ClientMessageDTO> tell) Source #

method ClientConnection Touch () Source #

method ClientConnection AddSubscriber (ProcessId publisher, ProcessId subscriber) Source #

method ClientConnection RemoveSubscriber (ProcessId publisher, ProcessId subscriber) Source #

method void Dispose () Source #

class ClientMessaging Source #

Methods

method Task<Unit> Write (Req msg, IPAddress remoteIpAddress, Func<byte[], bool, Task> sendText) Source #

class Req Source #

Methods

method Either<string, Req> Parse (string msg, string remoteIp, HashMap<ClientConnectionId, ClientConnection> activeConnections) Source #

Parses a client request

Parameters

param msg

Text version of the request

procsys:conn
procsys:diss|<Connection ID>
procsys:tell|<Connection ID>|<Message ID>|<Process ID: To>|<Process ID: Sender>|<Message JSON>
procsys:ask|<Connection ID>|<Message ID>|<Process ID: To>|<Process ID: Sender>|<Message JSON>
procsys:ping|<Connection ID>
procsys:sub|<Connection ID>|<Process ID: Publisher>|<Process ID: Subscriber>
procsys:usub|<Connection ID>|<Process ID: Publisher>|<Process ID: Subscriber>
returns

class ConnectReq Source #

Fields

class DisconnectReq Source #

Fields

field ClientConnectionId Id Source #

field ClientConnection Connection Source #

Methods

method Either<string, Req> Create (ClientConnectionId id, HashMap<ClientConnectionId, ClientConnection> clientConnections) Source #

class PingReq Source #

Fields

field ClientConnectionId Id Source #

field ClientConnection Connection Source #

Methods

method Either<string, Req> Create (ClientConnectionId id, HashMap<ClientConnectionId, ClientConnection> clientConnections) Source #

class TellReq Source #

Fields

field ClientConnectionId Id Source #

field ClientMessageId MessageId Source #

field ProcessId To Source #

field ProcessId Sender Source #

field object Message Source #

field ClientConnection Connection Source #

Methods

method Either<string, Req> Create (ClientConnectionId id, ClientMessageId msgId, ProcessId to, ProcessId sender, string msg, HashMap<ClientConnectionId, ClientConnection> clientConnections) Source #

class AskReq Source #

Fields

field ClientConnectionId Id Source #

field ClientMessageId MessageId Source #

field ProcessId To Source #

field ProcessId Sender Source #

field object Message Source #

field ClientConnection Connection Source #

Methods

method Either<string, Req> Create (ClientConnectionId id, ClientMessageId msgId, ProcessId to, ProcessId sender, string msg, HashMap<ClientConnectionId, ClientConnection> clientConnections) Source #

class SubscribeReq Source #

Fields

field ClientConnectionId Id Source #

field ProcessId Publisher Source #

field ProcessId Subscriber Source #

field ClientConnection Connection Source #

Methods

method Either<string, Req> Create (ClientConnectionId id, ProcessId publisher, ProcessId subscriber, HashMap<ClientConnectionId, ClientConnection> clientConnections) Source #

class UnSubscribeReq Source #

Fields

field ClientConnectionId Id Source #

field ProcessId Publisher Source #

field ProcessId Subscriber Source #

field ClientConnection Connection Source #

Methods

method Either<string, Req> Create (ClientConnectionId id, ProcessId publisher, ProcessId subscriber, HashMap<ClientConnectionId, ClientConnection> clientConnections) Source #