コード例 #1
0
        public RedisInvocation ReadInvocation(byte[] data)
        {
            // See WriteInvocation for format.

            using (var stream = new MemoryStream(data))
                using (var reader = new BinaryReaderWithVarInt(stream, _utf8NoBom))
                {
                    IReadOnlyList <string> excludedIds = null;

                    var idCount = reader.ReadVarInt();
                    if (idCount > 0)
                    {
                        var ids = new string[idCount];
                        for (var i = 0; i < idCount; i++)
                        {
                            ids[i] = reader.ReadString();
                        }

                        excludedIds = ids;
                    }

                    var message = SerializedHubMessage.ReadAllSerializedVersions(reader);
                    return(new RedisInvocation(message, excludedIds));
                }
        }
コード例 #2
0
 public int ReadAck(byte[] data)
 {
     // See WriteAck for format
     using (var stream = new MemoryStream(data))
         using (var reader = new BinaryReaderWithVarInt(stream, _utf8NoBom))
         {
             return(reader.ReadVarInt());
         }
 }
コード例 #3
0
        public RedisGroupCommand ReadGroupCommand(byte[] data)
        {
            // See WriteGroupCommand for format.
            using (var stream = new MemoryStream(data))
                using (var reader = new BinaryReaderWithVarInt(stream, _utf8NoBom))
                {
                    var id           = reader.ReadVarInt();
                    var serverName   = reader.ReadString();
                    var action       = (GroupAction)reader.ReadByte();
                    var groupName    = reader.ReadString();
                    var connectionId = reader.ReadString();

                    return(new RedisGroupCommand(id, serverName, action, groupName, connectionId));
                }
        }