public void SimpleAcquireTest()
        {
            var semaphore = new FastSemaphore(2);

            Assert.IsTrue(semaphore.AcquireFailFast());
            Assert.IsTrue(semaphore.AcquireFailFast());
            Assert.IsFalse(semaphore.AcquireFailFast());
            semaphore.Release();
            Assert.IsTrue(semaphore.AcquireFailFast());
        }
Beispiel #2
0
 public IncomingMessageProcessor(
     IMessageStore <TPayloadType, TBody, TMsgCtx> messageStore,
     IMessageRouter <TPayloadType, TBody, TMsgCtx> messageRouter,
     IOutgoingConnection <TPayloadType, TBody> outgoingConnection,
     IMessageResultFactory <TBody> messageResultFactory)
 {
     this.buffer               = new MpmcRingBuffer <Message <TPayloadType, TBody> >(0x1000);
     this.outgoingConnection   = outgoingConnection;
     this.messageResultFactory = messageResultFactory;
     this.messageStore         = messageStore;
     this.messageRouter        = messageRouter;
     this.semaphore            = new FastSemaphore(100);
 }