Пример #1
0
        protected override void EncodeResponseData(IChannel channel, IObjectOutput output, object data)
        {
            IResult result = (IResult)data;

            Exception th = result.Exception;

            if (th == null)
            {
                object ret = result.Value;
                if (ret == null)
                {
                    output.WriteByte(ResponseNullValue);
                }
                else
                {
                    output.WriteByte(ResponseValue);
                    output.WriteObject(ret);
                }
            }
            else
            {
                output.WriteByte(ResponseWithException);
                output.WriteObject(th);
            }
        }
Пример #2
0
        protected override void EncodeRequestData(IChannel channel, IObjectOutput output, object data)
        {
            RpcInvocation inv = (RpcInvocation)data;

            output.WriteUTF(inv.GetAttachment(Constants.DubboVersionKey, DubboVersion));
            output.WriteUTF(inv.GetAttachment(Constants.PathKey));
            output.WriteUTF(inv.GetAttachment(Constants.VersionKey));
            //Console.WriteLine("encode attachment:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
            output.WriteUTF(inv.MethodName);
            output.WriteUTF(ReflectUtil.GetDesc(inv.ParameterTypes));
            //Console.WriteLine("encode method and paramtype:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
            object[]
            args = inv.Arguments;
            if (args != null)
            {
                foreach (var arg in args)
                {
                    output.WriteObject(arg);
                }
            }
            //Console.WriteLine("encode args:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
            output.WriteObject(inv.Attachments);
            //Console.WriteLine("encode all attachments:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"));
        }
Пример #3
0
 protected virtual void EncodeResponseData(IObjectOutput output, object data)
 {
     output.WriteObject(data);
 }
Пример #4
0
 private void EncodeEventData(IObjectOutput output, object data)
 {
     output.WriteObject(data);
 }
Пример #5
0
 protected virtual void EncodeData(IObjectOutput output, object message)
 {
     output.WriteObject(message);
 }