Exemplo n.º 1
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj = JObject.Load(r);
         var tmp = obj.GetInt32("result");
         try
         {
             Result = (FileTransferVerificationResult)tmp;
         }
         catch (FormatException)
         {
             throw new MessageLoadException("Invalid result: " + tmp);
         }
         var sid = obj.GetString("sid");
         try
         {
             SessionId = FileTransferId.Parse(sid);
         }
         catch (FormatException)
         {
             throw new MessageLoadException("Invalid sid: " + tmp);
         }
     }
 }
        // ~ISdmSerializable

        private void LoadJson(Stream s)
        {
            using (var r = new JsonStreamReader(s))
            {
                var    obj = JObject.Load(r);
                byte[] tmp;
                var    siv = obj.GetString("iv");
                try
                {
                    tmp = Convert.FromBase64String(siv);
                }
                catch (FormatException)
                {
                    throw new MessageLoadException("Invalid iv format");
                }
                iv = tmp;
                var scdata = obj.GetString("cdata");
                try
                {
                    tmp = Convert.FromBase64String(scdata);
                }
                catch (FormatException)
                {
                    throw new MessageLoadException("Invalid cdata format");
                }
                cdata.Seek(0, SeekOrigin.Begin);
                cdata.SetLength(0);
                cdata.Write(tmp, 0, tmp.Length);
            }
        }
Exemplo n.º 3
0
 private void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s, false)
     {
         SupportMultipleContent = true
     })
     {
         var obj = JObject.Load(r);
         Size = obj.GetInt32("msz");
         int tmp = obj.GetInt32("mid");
         try
         {
             Id = (MessageId)tmp;
         }
         catch (InvalidCastException)
         {
             throw new MessageLoadException("Invalid message id: " + tmp);
         }
         tmp = obj.GetInt32("mflags");
         try
         {
             Flags = (MessageFlags)tmp;
         }
         catch (InvalidCastException)
         {
             throw new MessageLoadException("Invalid message flags: " + tmp);
         }
     }
 }
Exemplo n.º 4
0
        public void JsonStreamReaderTest()
        {
            List <Message <SimpleObject> > stream1 = new List <Message <SimpleObject> >();
            List <Message <SimpleObject> > stream2 = new List <Message <SimpleObject> >();
            IStreamMetadata metadata1 = null;
            IStreamMetadata metadata2 = null;

            using (var reader = new JsonStreamReader(StoreName, InputPath))
            {
                metadata1 = reader.AvailableStreams.First((m) => m.Name == "Stream1");
                ValidateMetadata(metadata1, "Stream1", 1, TypeName, StoreName, StorePath, FirstTime, LastTime, FirstTime, LastTime, 2);

                metadata2 = reader.AvailableStreams.First((m) => m.Name == "Stream2");
                ValidateMetadata(metadata2, "Stream2", 2, TypeName, StoreName, StorePath, FirstTime, LastTime, FirstTime, LastTime, 2);

                reader.OpenStream <SimpleObject>("Stream1", (d, e) => stream1.Add(new Message <SimpleObject>(d.DeepClone(), e.OriginatingTime, e.CreationTime, e.SourceId, e.SequenceId)));
                reader.OpenStream <SimpleObject>("Stream2", (d, e) => stream2.Add(new Message <SimpleObject>(d.DeepClone(), e.OriginatingTime, e.CreationTime, e.SourceId, e.SequenceId)));
                reader.ReadAll(ReplayDescriptor.ReplayAll);
            }

            Assert.AreEqual(stream1.Count, 2);
            Assert.AreEqual(stream2.Count, 2);

            ValidateMessage(stream1[0], 1, 0, FirstTime, FirstTime, (data) => ValidateSimpleObject(data, Data));
            ValidateMessage(stream1[1], 1, 1, LastTime, LastTime, (data) => ValidateSimpleObject(data, Data));
            ValidateMessage(stream2[0], 2, 0, FirstTime, FirstTime, (data) => ValidateSimpleObject(data, Data));
            ValidateMessage(stream2[1], 2, 1, LastTime, LastTime, (data) => ValidateSimpleObject(data, Data));
        }
Exemplo n.º 5
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj = JObject.Load(r);
         var tmp = obj.GetInt32("result");
         try
         {
             Result = (FileTransferRequestResult)tmp;
         }
         catch (FormatException)
         {
             throw new MessageLoadException("Invalid result: " + tmp);
         }
         var sid = obj.GetString("sid");
         try
         {
             SessionId = FileTransferId.Parse(sid);
         }
         catch (FormatException)
         {
             throw new MessageLoadException("Invalid sid: " + tmp);
         }
         var token = obj.GetString("token");
         try
         {
             Token = UInt64.Parse(token);
         }
         catch (FormatException)
         {
             throw new MessageLoadException("Invalid token: " + token);
         }
         BlockSize = obj.GetInt32("block_size");
     }
 }
Exemplo n.º 6
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj = JObject.Load(r);
         Username = obj.GetString("usr");
         FileName = obj.GetString("file_name");
         FileSize = obj.GetInt32("file_size");
         var hash = obj.GetString("file_hash");
         try
         {
             FileHash = Convert.FromBase64String(hash);
         }
         catch (FormatException)
         {
             throw new MessageLoadException("Invalid file_hash: " + hash);
         }
         BlockSize = obj.GetInt32("block_size");
         var token = obj.GetString("token");
         try
         {
             Token = UInt64.Parse(token);
         }
         catch (FormatException)
         {
             throw new MessageLoadException("Invalid token: " + token);
         }
     }
 }
Exemplo n.º 7
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj = JObject.Load(r);
         var sid = obj.GetString("sid");
         try
         {
             SessionId = FileTransferId.Parse(sid);
         }
         catch (FormatException)
         {
             throw new MessageLoadException("Invalid sid: " + sid);
         }
         var data = obj.GetString("data");
         try
         {
             Data = Convert.FromBase64String(data);
         }
         catch (FormatException)
         {
             throw new MessageLoadException("Invalid data format");
         }
     }
 }
Exemplo n.º 8
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj = JObject.Load(r);
         KeySize = obj.GetInt32("keysz");
     }
 }
Exemplo n.º 9
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj = JObject.Load(r);
         Usernames = obj.GetArray <string>("unames");
     }
 }
Exemplo n.º 10
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj = JObject.Load(r);
         Key = obj.GetString("key");
     }
 }
Exemplo n.º 11
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj = JObject.Load(r);
         Username = obj.GetString("usr");
         Message  = obj.GetString("msg");
     }
 }
Exemplo n.º 12
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj = JObject.Load(r);
         Connected    = obj.GetArray <string>("add");
         Disconnected = obj.GetArray <string>("del");
     }
 }
Exemplo n.º 13
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj = JObject.Load(r);
         Login    = obj.GetString("login");
         Password = obj.GetString("password");
     }
 }
Exemplo n.º 14
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj = JObject.Load(r);
         Username = obj.GetString("usr");
         FileName = obj.GetString("file_name");
         FileSize = obj.GetInt32("file_size");
         var hash = obj.GetString("file_hash");
         FileHash  = Convert.FromBase64String(hash);
         BlockSize = obj.GetInt32("block_size");
         var sid = obj.GetString("sid");
         SessionId = FileTransferId.Parse(sid);
     }
 }
Exemplo n.º 15
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj  = JObject.Load(r);
         var skey = obj.GetString("skey");
         try
         {
             SessionKey = Convert.FromBase64String(skey);
         }
         catch (FormatException)
         {
             throw new MessageLoadException("Invalid skey format");
         }
     }
 }
Exemplo n.º 16
0
 protected override void LoadJson(Stream s)
 {
     using (var r = new JsonStreamReader(s))
     {
         var obj = JObject.Load(r);
         var tmp = obj.GetInt32("reason");
         try
         {
             Reason = (DisconnectReason)tmp;
         }
         catch (FormatException)
         {
             throw new MessageLoadException("Invalid reason: " + tmp);
         }
         Message = obj.GetString("msg");
     }
 }
        /// <summary>
        /// Make an item request to the interface server.
        /// </summary>
        /// <param name="request">Item request to make.</param>
        /// <returns></returns>
        public ItemResponse Request(ItemRequest request)
        {
            try
            {
                var writer = new JsonStreamWriter(client, Encoding);
                writer.WriteJson(request);
                writer.Flush();

                client.WaitForPipeDrain();

                var reader = new JsonStreamReader(client, Encoding);
                var response = reader.ReadJson<ItemResponse>();

                return response;
            }
            catch (EndOfStreamException)
            {
                return null;
            }
            catch (JsonException)
            {
                return null;
            }
        }
        public async Task<ItemResponse> RequestAsync(ItemRequest request)
        {
            try
            {
                var writer = new JsonStreamWriter(client, Encoding);
                await writer.WriteJsonAsync(request);
                await writer.FlushAsync();

                client.WaitForPipeDrain();

                var reader = new JsonStreamReader(client, Encoding);
                var response = await reader.ReadJsonAsync<ItemResponse>();

                return response;
            }
            catch (EndOfStreamException)
            {
                return null;
            }
            catch (JsonException)
            {
                return null;
            }
        }