/// <summary>
        ///     Utility function for wrapping callbacks into CommandResponseHandler objects.
        /// </summary>
        public static CommandResponseHandler <TResponse> Wrap(Action <CommandCallback <TResponse> > wrap)
        {
            var commandResponseHandler = new CommandResponseHandler <TResponse>();

            wrap(commandResponseHandler.Trigger);
            return(commandResponseHandler);
        }
 public ICommandResponseHandler <EntityQueryResult> SendQuery(EntityQuery query, TimeSpan?timeout = null)
 {
     return(CommandResponseHandler <EntityQueryResult> .Wrap(callback => SendQuery(query, callback, timeout)));
 }
 public ICommandResponseHandler <CreateEntityResult> CreateEntity(Worker.Entity template, TimeSpan?timeout = null)
 {
     return(CommandResponseHandler <CreateEntityResult> .Wrap(callback => CreateEntity(template, callback, timeout)));
 }
 public ICommandResponseHandler <DeleteEntityResult> DeleteEntity(EntityId entityId, TimeSpan?timeout = null)
 {
     return(CommandResponseHandler <DeleteEntityResult> .Wrap(callback => DeleteEntity(entityId, callback, timeout)));
 }
 public ICommandResponseHandler <ReserveEntityIdsResult> ReserveEntityIds(uint numberOfEntityIds, TimeSpan?timeout = null)
 {
     return(CommandResponseHandler <ReserveEntityIdsResult> .Wrap(callback => ReserveEntityIds(callback, numberOfEntityIds, timeout)));
 }
 public ICommandResponseHandler <ReserveEntityIdResult> ReserveEntityId(TimeSpan?timeout = null)
 {
     return(CommandResponseHandler <ReserveEntityIdResult> .Wrap(callback => ReserveEntityId(callback, timeout)));
 }
Exemplo n.º 7
0
 public ICommandResponseHandler <CreateEntityResult> CreateEntity(IComponentWriter writer, EntityId reservedEntityId,
                                                                  Worker.Entity template, TimeSpan?timeout = null)
 {
     return(CommandResponseHandler <CreateEntityResult> .Wrap(callback => CreateEntity(writer, reservedEntityId, template, callback, timeout)));
 }
Exemplo n.º 8
0
 public ICommandResponseHandler <ReserveEntityIdResult> ReserveEntityId(IComponentWriter writer, TimeSpan?timeout = null)
 {
     return(CommandResponseHandler <ReserveEntityIdResult> .Wrap(callback => ReserveEntityId(writer, callback, timeout)));
 }
Exemplo n.º 9
0
 /// <inheritdoc />
 public ICommandResponseHandler <TResponse> SendCommand <TCommand, TRequest, TResponse>(IComponentWriter writer, ICommandDescriptor <TCommand, TRequest, TResponse> commandDescriptor,
                                                                                        TRequest request, EntityId entityId, TimeSpan?timeout, CommandDelivery commandDelivery = CommandDelivery.RoundTrip) where TCommand : ICommandMetaclass, new()
 {
     return(CommandResponseHandler <TResponse> .Wrap(callback => SendCommandInternal(writer, PerformAuthorityCheck, commandDescriptor, request, entityId, callback, timeout, commandDelivery)));
 }