public static void Main(string[] args) { var disruptor = new Disruptor <ObjectBox>(() => new ObjectBox(), _ringSize, TaskScheduler.Current, ProducerType.Multi, new BlockingWaitStrategy()); disruptor.HandleEventsWith(new Consumer()).Then(new Consumer()); var ringBuffer = disruptor.RingBuffer; var message = new Message(); var transportable = new Transportable(); var streamName = "com.lmax.wibble"; Console.WriteLine($"publishing {_ringSize} messages"); var p = new Publisher(); for (var i = 0; i < _ringSize; i++) { ringBuffer.PublishEvent(p, message, transportable, streamName); Thread.Sleep(10); } Console.WriteLine("start disruptor"); disruptor.Start(); Console.WriteLine("continue publishing disruptor"); while (true) { ringBuffer.PublishEvent(p, message, transportable, streamName); Thread.Sleep(10); } }
public void UpdateGiveToTarget() { #region Setup var mockComponentActorFactory = new Mock <ComponentActorFactory <TransportableStorage> >(Sys); mockComponentActorFactory.Setup(f => f.GetProps(It.IsAny <TransportableStorage>())) .Returns(Props.Create(() => new EntityTestActor())); var resourceContainer = new ResourceContainer(); var containerTransportable = new Transportable(); var orderTargetTransportable = new TransportableStorage(); var orderTargetEntity = new Entity { orderTargetTransportable }; var deliverOrder = new DeliverContainerToStorage(resourceContainer, orderTargetEntity, mockComponentActorFactory.Object); var transporterEntity = new Entity { new TransportableStorage { Transportables = { containerTransportable } } }; #endregion deliverOrder.Update(transporterEntity, new GameTime()); var messageToEntityComponent = ExpectMsg <MessageToEntityComponentFirstOfType <TransportableStorage> >(); Assert.Equal(transporterEntity.Id, messageToEntityComponent.EntityId); var giveTransportableTo = Assert.IsType <GiveTransportableTo>(messageToEntityComponent.Message); Assert.Equal(resourceContainer.Id, giveTransportableTo.Transportable.Id); Assert.Equal(orderTargetTransportable.Id, giveTransportableTo.Target.Id); }
private void GivenTransportableExists() { transportable = CreateBareTransportable(); }
public void SetTransportable(Transportable arg1) { _transportable = arg1; }