public async Task TestUpdateRowsContract()
        {
            var serializer = new MyNoSqlTcpSerializer();


            var testContract = new UpdateRowsContract
            {
                TableName = "Test",
                Data      = new byte[] { 1, 2, 3 }
            };

            var dataReader = new TcpDataReader(ReadBufferSize);

            var rawData = serializer.Serialize(testContract);
            await dataReader.NewPackageAsync(rawData);

            var result
                = (UpdateRowsContract)await serializer
                  .DeserializeAsync(dataReader, CancellationToken.None);

            Assert.AreEqual(testContract.TableName, result.TableName);
            Assert.AreEqual(testContract.Data.Length, result.Data.Length);
            for (var i = 0; i < testContract.Data.Length; i++)
            {
                Assert.AreEqual(testContract.Data[i], result.Data[i]);
            }
        }
示例#2
0
        public static void BroadcastRowsUpdate(DbTable dbTable, IReadOnlyList <DbRow> entities)
        {
            var connections = TableSubscribers.GetConnections(dbTable.Name);

            if (connections == null)
            {
                return;
            }

            var packetToBroadcast = new UpdateRowsContract
            {
                TableName = dbTable.Name,
                Data      = entities.ToHubUpdateContract()
            };

            foreach (var connection in connections)
            {
                connection.SendPacket(packetToBroadcast);
            }
        }
示例#3
0
        public void TestUpdateRowsContract()
        {
            var serializer = new MyNoSqlTcpSerializer();


            var testContract = new UpdateRowsContract
            {
                TableName = "Test",
                Data      = new byte[] { 1, 2, 3 }
            };

            var rawData = serializer.Serialize(testContract);

            var memStream = new MemoryStream(rawData.ToArray())
            {
                Position = 0
            };


            var dataReader = new TcpDataReader();

            dataReader.NewPackage(memStream.ToArray());


            var result
                = (UpdateRowsContract)serializer
                  .DeserializeAsync(dataReader)
                  .AsTestResult();

            Assert.AreEqual(testContract.TableName, result.TableName);
            Assert.AreEqual(testContract.Data.Length, result.Data.Length);
            for (var i = 0; i < testContract.Data.Length; i++)
            {
                Assert.AreEqual(testContract.Data[i], result.Data[i]);
            }
        }