public static void Send(this ActorProxy self, IActorMessage message) { ActorTask task = new ActorTask { message = message, proxy = self }; self.Add(task); }
public static Task <IResponse> Call(this ActorProxy self, IActorRequest request) { ActorTask task = new ActorTask { message = request, proxy = self, Tcs = new TaskCompletionSource <IResponse>() }; self.Add(task); return(task.Tcs.Task); }