public async Task <IActorResponse> Call(IActorLocationRequest request) { if (request == null) { throw new Exception($"actor location call message is null"); } return(await Run(request)); }
public static Task <IActorLocationResponse> Call(this ActorLocationSender self, IActorLocationRequest request) { if (request == null) { throw new Exception($"actor location call message is null"); } TaskCompletionSource <IActorLocationResponse> tcs = new TaskCompletionSource <IActorLocationResponse>(); ActorTask task = new ActorTask(request, tcs); self.Add(task); return(task.Tcs.Task); }
/// <summary> /// 发送RPC协议给ActorLocation /// </summary> /// <param name="id">注册Actor的Id</param> /// <param name="message"></param> /// <returns></returns> public static async ETTask <IActorResponse> CallLocationActor(long id, IActorLocationRequest message) { return(await ActorLocationSenderComponent.Instance.Call(id, message)); }
public static async ETTask <IActorResponse> Call(this ActorLocationSender self, IActorLocationRequest request) { if (request == null) { throw new Exception($"actor location call message is null"); } return(await self.Run(request)); }
public static async ETTask <IActorResponse> Call(this ActorLocationSenderComponent self, long entityId, IActorLocationRequest message) { ActorLocationSender actorLocationSender = self.Get(entityId); return(await actorLocationSender.Call(message)); }
public ActorTask(IActorLocationRequest actorRequest, ETTaskCompletionSource <IActorLocationResponse> tcs) { this.ActorRequest = actorRequest; this.Tcs = tcs; }
public async Task <IActorResponse> Call(long entityId, IActorLocationRequest message) { ActorLocationSender actorLocationSender = Get(entityId); return(await actorLocationSender.Call(message)); }