Beispiel #1
0
        public object Deserialize(Type type, byte[] data)
        {
            if (IsGenericDictType(type))
            {
                var myDict = (SerializableDictionary)_binarySerializer.Deserialize(typeof(SerializableDictionary), data);
                return(DeserializeDictionary(myDict));
            }

            var json = Encoding.UTF8.GetString(data);

            if (typeof(string) == type)
            {
                if (data.Length == 0)
                {
                    return(String.Empty);
                }
                return(json);
            }


            var deserialize =
                DynamicMethod.GetGenericMethod(typeof(InsensitiveJsonSerializer),
                                               new Type[] { type },
                                               nameof(InsensitiveJsonSerializer.Deserialize),
                                               new Type[] { typeof(string) }
                                               );

            return(deserialize(_jsonSerializer, new object[] { json }));
        }
Beispiel #2
0
        protected override void OnMessage(MessageEventArgs e)
        {
            var req      = (ChaosInvocation)_binarySerializer.Deserialize(typeof(ChaosInvocation), e.RawData);
            var resp     = _chaosService.ProcessInvocation(req);
            var respData = _binarySerializer.Serialize(resp);

            Send(respData);
        }
Beispiel #3
0
        void MessageReceived(IWebSocketConnection webSocketConnection)
        {
            webSocketConnection.OnBinary = data =>
            {
                var req = (ChaosInvocation)_binarySerializer.Deserialize(typeof(ChaosInvocation), data);

                var resp = _chaosService.ProcessInvocation(req);

                var respData = _binarySerializer.Serialize(resp);

                webSocketConnection.Send(respData);
            };
        }
        public T From <T>(AnyProto anyProto)
        {
            var byteArray = anyProto.Data.ToByteArray();

            return((T)_binarySerializer.Deserialize(typeof(T), byteArray));
        }
Beispiel #5
0
 private void ClientOnOnMessage(object sender, MessageEventArgs e)
 {
     _reply = (ChaosInvocationResp)_binarySerializer.Deserialize(typeof(ChaosInvocationResp), e.RawData);
     _singal.Set();
 }