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); } }
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")); }
protected virtual void EncodeResponseData(IObjectOutput output, object data) { output.WriteObject(data); }
private void EncodeEventData(IObjectOutput output, object data) { output.WriteObject(data); }
protected virtual void EncodeData(IObjectOutput output, object message) { output.WriteObject(message); }