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; } }
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; } }