Example #1
0
 public ChatClient(Guid id, TcpClient tcpClient, IClientMessageCache messageCache, ClientActions clientActions)
 {
     Id             = id;
     _tcpClient     = tcpClient;
     _messageCache  = messageCache;
     _clientActions = clientActions;
 }
        private ClientQuery readQuery(JToken jToken, IClientMessageCache messageTypes, JsonSerializer serializer)
        {
            var messageName = jToken["type"].Value <string>();
            var chain       = messageTypes.FindChain(messageName);

            string correlationId      = null;
            var    correlationIdToken = jToken["correlationId"];

            if (correlationIdToken != null)
            {
                correlationId = correlationIdToken.Value <string>();
            }

            var query = new ClientQuery {
                type = messageName, correlationId = correlationId
            };

            if (chain.InputType() != null)
            {
                var reader = new JTokenReader(jToken["query"]);
                query.query = serializer.Deserialize(reader, chain.InputType());
            }

            return(query);
        }
        public AggregatedQuery Read(JsonSerializer serializer, IClientMessageCache messageTypes, string json)
        {
            var token = JToken.Parse(json);

            var queries = token["queries"] as JArray;

            if (queries == null)
            {
                throw new ArgumentOutOfRangeException("json", "No 'queries' were sent in this request");
            }

            return(new AggregatedQuery
            {
                queries = queries.Select(x => readQuery(x, messageTypes, serializer)).ToArray()
            });
        }
 public ClientMessagesFubuDiagnostics(IClientMessageCache messages)
 {
     _messages = messages;
 }
Example #5
0
 public Aggregator(IPartialInvoker invoker, IChainResolver resolver, IClientMessageCache messageTypes)
 {
     _invoker      = invoker;
     _resolver     = resolver;
     _messageTypes = messageTypes;
 }
 public ClientMessagesFubuDiagnostics(IClientMessageCache messages)
 {
     _messages = messages;
 }