示例#1
0
        /// <summary cref="Notify(string, object, int)">
        /// </summary>
        public void Notify(string route, object msg, int timeout = -1)
        {
            IPitayaSerializer serializer = SerializerFactory.CreateJsonSerializer();

            if (msg is IMessage)
            {
                serializer = SerializerFactory.CreateProtobufSerializer(_binding.ClientSerializer(_client));
            }
            NotifyInternal(route, msg, serializer, timeout);
        }
示例#2
0
        /// <summary cref="Request&lt;TResponse&gt;(string, object, Action&lt;TResponse&gt;, Action&lt;PitayaError&gt;, int)">
        /// </summary>
        public void Request <TResponse>(string route, object msg, Action <TResponse> action, Action <PitayaError> errorAction, int timeout = -1)
        {
            IPitayaSerializer serializer = SerializerFactory.CreateJsonSerializer();

            if (msg is IMessage)
            {
                serializer = SerializerFactory.CreateProtobufSerializer(_binding.ClientSerializer(_client));
            }
            RequestInternal(route, msg, timeout, serializer, action, errorAction);
        }
示例#3
0
        /// <summary cref="OnRoute&lt;T&gt;(string, Action&lt;T&gt;)">
        /// </summary>
        public void OnRoute <T>(string route, Action <T> action)
        {
            IPitayaSerializer serializer = SerializerFactory.CreateJsonSerializer();

            if (typeof(IMessage).IsAssignableFrom(typeof(T)))
            {
                serializer = SerializerFactory.CreateProtobufSerializer(_binding.ClientSerializer(_client));
            }

            OnRouteInternal(route, action, serializer);
        }