Esempio n. 1
0
 public Runner(IRingBuffer buffer, IStructSizeCounter counter, Func <Type, int> messageIdGetter, int batchSize,
               params IActor[] actors)
 {
     Buffer     = buffer;
     _batchSize = batchSize;
     if (actors.Length > 1)
     {
         var actor = new CompositeActor(actors, counter, messageIdGetter);
         _batchAware = actor;
         _handler    = actor.MessageHandler;
         Descriptor  = actor.Descriptor;
     }
     else
     {
         _handler    = new MessageReader(actors[0], counter, messageIdGetter).MessageHandlerImpl;
         Descriptor  = new ActorDescriptor(actors[0]);
         _batchAware = actors[0] as IBatchAware;
     }
 }
Esempio n. 2
0
 public Runner(IRingBuffer buffer, IStructSizeCounter counter, Func<Type, int> messageIdGetter, int batchSize,
     params IActor[] actors)
 {
     Buffer = buffer;
     _batchSize = batchSize;
     if (actors.Length > 1)
     {
         var actor = new CompositeActor(actors, counter, messageIdGetter);
         _batchAware = actor;
         _handler = actor.MessageHandler;
         Descriptor = actor.Descriptor;
     }
     else
     {
         _handler = new MessageReader(actors[0], counter, messageIdGetter).MessageHandlerImpl;
         Descriptor = new ActorDescriptor(actors[0]);
         _batchAware = actors[0] as IBatchAware;
     }
 }