コード例 #1
0
        public async Task TestBasicFeature()
        {
            var sw = new Stopwatch();

            sw.Start();
            var trafficReader = new TcpDataReader(1024);

            var incomingArray = new byte[] { 1, 2, 3, 4, 5, 6 };

            var task = trafficReader.NewPackageAsync(incomingArray);

            var token = new CancellationTokenSource();
            var data  = await trafficReader.ReadAsyncAsync(3, token.Token);

            TestExtensions.AsReadOnlyMemory(incomingArray, 0, 3).ArrayIsEqualWith(data.AsArray());
            trafficReader.CommitReadData(data);

            data = trafficReader.ReadAsyncAsync(2, token.Token).Result;
            TestExtensions.AsReadOnlyMemory(incomingArray, 3, 2).ArrayIsEqualWith(data.AsArray());
            trafficReader.CommitReadData(data);

            await task;

            sw.Stop();
            Console.WriteLine(sw.Elapsed);
        }
コード例 #2
0
        public async Task TestByteArray()
        {
            var memoryStream = new MemoryStream();
            var testValue    = new byte[] { 1, 2, 3, 4, 5, 6 };

            memoryStream.WriteByteArray(testValue);

            var tcpDataReader = new TcpDataReader(1024);

            await tcpDataReader.NewPackageAsync(memoryStream.ToArray());

            var tc     = new CancellationTokenSource();
            var result = await tcpDataReader.ReadByteArrayAsync(tc.Token);

            TestExtensions.AsReadOnlyMemory(testValue).ArraysAreEqual(result);
        }
コード例 #3
0
        public async Task TestBasicFeature()
        {
            var trafficReader = new TcpDataReader(1024);

            var incomingArray = new byte[] { 1, 2, 3, 4, 5, 6 };

            await trafficReader.NewPackageAsync(incomingArray);

            var tc   = new CancellationTokenSource();
            var data = await trafficReader.ReadAsyncAsync(3, tc.Token);

            TestExtensions.AsReadOnlyMemory(incomingArray, 0, 3).ArraysAreEqual(data.AsArray());
            trafficReader.CommitReadData(data);

            data = await trafficReader.ReadAsyncAsync(2, tc.Token);

            TestExtensions.AsReadOnlyMemory(incomingArray, 3, 2).ArraysAreEqual(data.AsArray());
            trafficReader.CommitReadData(data);
        }