Interface IEndpoint
Dynamically typed RPC mechanism, used to transport serialised requests and security tokens.
public interface IEndpoint
Remarks
Remote/"transport" endpoint plugins can be implemented anywhere, but any local endpoint should use The.Persistence.SecureStore. Endpoints are only used within an IEntityStore, so this doesn't allow for a licensing bypass; it would permit a server developer to disable user security, but they can do that trivially using a null auth plugin. An IoC container (IServiceProvider) is optional; if provided, it will be used to look up additional RPCs.
Properties
Description
Human-readable name.
string Description { get; }
Property Value
Methods
ConnectAsync(byte[], CancellationToken)
Proves the client's identity to the server in exchange for a symmetric session key.
Task<byte[]> ConnectAsync(byte[] ticket, CancellationToken token)
Parameters
ticketbyte[]tokenCancellationToken
Returns
- Task<byte[]>
Serialised Response<T>.
ExecuteAsync(string, Message, byte[]?, CancellationToken)
Calls an untyped procedure - this may involve local lookup, passthrough or decoration.
Task<Message> ExecuteAsync(string name, Message request, byte[]? ticket, CancellationToken cancellationToken)
Parameters
namestringrequestMessageticketbyte[]cancellationTokenCancellationToken
Returns
VisitAsync<T, U>(AnonymousProcedure<T, U>, Message, CancellationToken)
Calls a typed procedure on a local or remote host.
Task<Message> VisitAsync<T, U>(AnonymousProcedure<T, U> proc, Message request, CancellationToken token) where T : notnull
Parameters
procAnonymousProcedure<T, U>requestMessagetokenCancellationToken
Returns
- Task<Message>
Serialised Response<T>.
Type Parameters
TU
VisitAsync<T, U>(Procedure<T, U>, Message, byte[], CancellationToken)
Calls a typed procedure on a local or remote host.
Task<Message> VisitAsync<T, U>(Procedure<T, U> proc, Message request, byte[] ticket, CancellationToken token) where T : notnull
Parameters
procProcedure<T, U>requestMessageticketbyte[]tokenCancellationToken
Returns
- Task<Message>
Serialised Response<T>.
Type Parameters
TU