public override Task Tell(byte[] bytes, IActorOwnMessage <string> data, MessageInfo msg) { switch (data) { case AmountTransferEvent value: return(AmountAddEventHandler(value)); default: return(Task.CompletedTask); } }
/// <summary> /// 发送无状态更改的消息到消息队列 /// </summary> /// <param name="msg"></param> /// <returns></returns> public async Task Publish(IActorOwnMessage <K> msg) { msg.StateId = this.GrainId; using (var ms = new PooledMemoryStream()) { Serializer.Serialize(ms, msg); await MQService.Publish(msg, ms.ToArray(), GrainId.ToString()); } }
public override Task Tell(byte[] bytes, IActorOwnMessage <K> data, TMessageWrapper msg) { if (data is IEventBase <K> evt) { return(Task.WhenAll(SendToAsyncGrain(bytes, evt), LocalProcess(bytes, data, msg))); } else { return(LocalProcess(bytes, data, msg)); } }
public override Task Tell(byte[] bytes, IActorOwnMessage <string> data, MessageInfo msg) { var replicatedRef = HandlerStart.Client.GetGrain <IAccountRep>(data.StateId); var task = replicatedRef.Tell(bytes); switch (data) { case AmountTransferEvent value: return(Task.WhenAll(task, AmountAddEventHandler(value))); default: return(task); } }
public abstract Task Tell(byte[] dataBytes, IActorOwnMessage <K> data, TMessageWrapper msg);
public override Task Tell(byte[] bytes, IActorOwnMessage <string> data, MessageInfo msg) { return(clientFactory.GetClient().GetGrain <IAccountDb>(data.StateId).Tell(bytes)); }
public override Task Tell(byte[] dataBytes, IActorOwnMessage <string> data, MessageInfo msg) { var grain = HandlerStart.Client.GetGrain <IAccountToRead>(data.StateId); return(grain.Tell(dataBytes)); }
public virtual Task LocalProcess(byte[] dataBytes, IActorOwnMessage <K> data, TMessageWrapper msg) => Task.CompletedTask;