Example #1
0
        public void AddConnectionNoAutosizing()
        {
            var buffer = new BufferPool (128);
            buffer.AutoSizeFactor = 2;
            buffer.AutoSizeLimit = false;

            buffer.AddConnection();
            Assert.AreEqual (0, buffer.Limit);
        }
Example #2
0
        public void AddConnection()
        {
            var buffer = new BufferPool (128);
            buffer.AutoSizeFactor = 2;
            buffer.AutoSizeLimit = true;

            buffer.AddConnection();
            Assert.AreEqual (2, buffer.Limit);
        }
Example #3
0
        public void PushBufferDestroys()
        {
            var buffer = new BufferPool (128) {
                AutoSizeLimit = true,
                AutoSizeFactor = 1
            };

            buffer.AddConnection();

            SocketAsyncEventArgs e;
            buffer.TryGetBuffer (out e);

            buffer.RemoveConnection();

            buffer.PushBuffer (e);

            Assert.That (() => e.SetBuffer (0, 128), Throws.TypeOf<ObjectDisposedException>());
        }
Example #4
0
 public void Ctor()
 {
     var buffer = new BufferPool (128, 2);
     Assert.AreEqual (2, buffer.Limit);
 }
Example #5
0
        public void TryGetBufferNew()
        {
            var buffer = new BufferPool (128, 2);

            SocketAsyncEventArgs e;
            Assert.IsFalse (buffer.TryGetBuffer (out e), "TryGetBuffer did not signal a newly created buffer");
            Assert.IsNotNull (e);
            Assert.AreEqual (e.Buffer.Length, 128, "Buffer length was not the default size");
        }
Example #6
0
        public void TryGetBufferBlocksAndExisting()
        {
            var buffer = new BufferPool (128, 1);

            SocketAsyncEventArgs e;
            buffer.TryGetBuffer (out e);

            DateTime now = DateTime.Now;

            SocketAsyncEventArgs second = null;
            var test = new AsyncTest (args => {
                Assert.That (DateTime.Now - now, Is.GreaterThan (TimeSpan.FromSeconds (1)));
                Assert.That (second, Is.SameAs (e));
            });

            Task.Run (() => {
                Assert.IsTrue (buffer.TryGetBuffer (out second));
            }).ContinueWith (t => {
                test.PassHandler (null, EventArgs.Empty);
            });

            Task.Delay (1000).ContinueWith (t => {
                buffer.PushBuffer (e);
            });

            test.Assert (2000);
        }
Example #7
0
 public void PushNull()
 {
     var buffer = new BufferPool (128);
     Assert.That (() => buffer.PushBuffer (null), Throws.TypeOf<ArgumentNullException>());
 }