private static void HandleStartEntity <TShard>(this TShard shard, ShardRegion.StartEntity start) where TShard : IShard { shard.Log.Debug("Got a request from [{0}] to start entity [{1}] in shard [{2}]", shard.Sender, start.EntityId, shard.ShardId); if (shard.PassivateIdleTask != null) { shard.LastMessageTimestamp = shard.LastMessageTimestamp.SetItem(start.EntityId, DateTime.Now.Ticks); } shard.GetEntity(start.EntityId); shard.Context.Sender.Tell(new ShardRegion.StartEntityAck(start.EntityId, shard.ShardId)); }
private static void HandleStartEntity <TShard>(this TShard shard, ShardRegion.StartEntity start) where TShard : IShard { var requester = shard.Sender; shard.Log.Debug("Got a request from [{0}] to start entity [{1}] in shard [{2}]", requester, start.EntityId, shard.ShardId); shard.TouchLastMessageTimestamp(start.EntityId); if (shard.State.Entries.Contains(start.EntityId)) { shard.GetOrCreateEntity(start.EntityId); requester.Tell(new ShardRegion.StartEntityAck(start.EntityId, shard.ShardId)); } else { shard.ProcessChange(new Shard.EntityStarted(start.EntityId), e => { shard.GetOrCreateEntity(start.EntityId); shard.SendMessageBuffer(e); requester.Tell(new ShardRegion.StartEntityAck(start.EntityId, shard.ShardId)); }); }; }
private void HandleStartEntity(ShardRegion.StartEntity start) { Log.Debug("Got a request from [{0}] to start entity [{1}] in shard [{2}]", _context.Sender, start.EntityId, ShardId); GetEntity(start.EntityId); _context.Sender.Tell(new ShardRegion.StartEntityAck(start.EntityId, ShardId)); }
private static void HandleStartEntity <TShard>(this TShard shard, ShardRegion.StartEntity start) where TShard : IShard { shard.Log.Debug("Got a request from [{0}] to start entity [{1}] in shard [{2}]", shard.Sender, start.EntityId, shard.ShardId); shard.GetEntity(start.EntityId); shard.Context.Sender.Tell(new ShardRegion.StartEntityAck(start.EntityId, shard.ShardId)); }