public override void ReadFrom(TarsInputStream _is) { if (_iVer == Const.TUP_VERSION_3) { _new_data = (Dictionary <string, byte[]>)_is.ReadMap <Dictionary <string, byte[]> >(_new_data, 0, false); } else { _data = (Dictionary <string, Dictionary <string, byte[]> >)_is.ReadMap <Dictionary <string, Dictionary <string, byte[]> > >(_data, 0, false); } }
public virtual void DecodeResponse(TarsInputStream input, RequestPacket response) { response.PacketType = input.Read((byte)0, 2, true); response.RequestId = input.Read(0, 3, true); response.MessageType = input.Read(0, 4, true); response.Ret = input.Read(0, 5, true); response.Buffer = input.Read(new byte[0], 6, true); response.Status = input.ReadMap <string, string>(new Dictionary <string, string>(), 7, false); response.ResultDesc = input.ReadString(8, false); response.Context = input.ReadMap <string, string>(new Dictionary <string, string>(), 9, false); }
public override void ReadFrom(TarsInputStream inputStream) { if (IsPacketTypeTup3) { newData = (Dictionary <string, byte[]>)inputStream.ReadMap(newData, 0, false); } else { data = (Dictionary <string, Dictionary <string, byte[]> >)inputStream.ReadMap(data, 0, false); } }
public virtual void DecodeRequest(TarsInputStream input, RequestPacket request) { request.PacketType = input.Read(request.PacketType, 2, true); request.MessageType = input.Read(request.MessageType, 3, true); request.RequestId = input.Read(request.RequestId, 4, true); request.ServantName = input.ReadString(5, true); request.FuncName = input.ReadString(6, true); request.Buffer = input.ReadBytes(7, true); request.Timeout = input.Read(request.Timeout, 8, true); request.Context = input.ReadMap <string, string>(new Dictionary <string, string>(), 9, false); request.Status = input.ReadMap <string, string>(new Dictionary <string, string>(), 10, false); }
public override void DecodeResponse(TarsInputStream input, RequestPacket response) { response.PacketType = input.Read((byte)0, 2, true); response.MessageType = input.Read(0, 3, true); response.RequestId = input.Read(0, 4, true); response.ServantName = input.ReadString(5, true); response.FuncName = input.ReadString(6, true); response.Buffer = input.Read(new byte[0], 7, true); response.Timeout = input.Read(0, 8, true); response.Status = input.ReadMap <string, string>(new Dictionary <string, string>(), 9, false); response.Context = input.ReadMap <string, string>(new Dictionary <string, string>(), 10, false); response.GetRetToStatus(); }
internal void Decode(byte[] buffer) { TarsInputStream tis = new TarsInputStream(buffer); tis.SetServerEncoding(EncodeName); if (IsVersionTup3) { tis.ReadMap(newData, 0, false); } else { tis.ReadMap(data, 0, false); } }
public void DecodeTup3(TarsInputStream inputStream, int Index = 0) { Version = Const.PacketTypeTup3; inputStream.SetServerEncoding(EncodeName); newData = new Dictionary <string, byte[]>(); inputStream.ReadMap <string, byte[]>(newData, 0, false); }
public void Decode(byte[] buffer, int Index = 0) { try { // try tup2 _is.Wrap(buffer, Index); _is.SetServerEncoding(_encodeName); _iVer = Const.TUP_VERSION_2; _data = (Dictionary <string, Dictionary <string, byte[]> >)_is.ReadMap <Dictionary <string, Dictionary <string, byte[]> > >(_data, 0, false); return; } catch { // try tup3 _iVer = Const.TUP_VERSION_3; _is.Wrap(buffer, Index); _is.SetServerEncoding(_encodeName); _new_data = (Dictionary <string, byte[]>)_is.ReadMap <Dictionary <string, byte[]> >(_new_data, 0, false); } }
/** * Decode incoming data, fill in getable objects. */ public new void Decode(byte[] buffer, int Index = 0) { if (buffer.Length < UniPacketHeadSize) { throw new ArgumentException("Decode namespace must include size head"); } try { TarsInputStream _is = new TarsInputStream(buffer, UniPacketHeadSize + Index); _is.SetServerEncoding(EncodeName); // Decode the RequestPacket package. this.ReadFrom(_is); // Set the tup version. _iVer = _package.iVersion; _is = new TarsInputStream(_package.sBuffer); _is.SetServerEncoding(EncodeName); if (_package.iVersion == Const.TUP_VERSION_2) { _data = (Dictionary <string, Dictionary <string, byte[]> >)_is.ReadMap < Dictionary <string, Dictionary <string, byte[]> > >(0, false); } else { _new_data = (Dictionary <string, byte[]>)_is.ReadMap <Dictionary <string, byte[]> >(0, false); } } catch (Exception ex) { QTrace.Trace(this + " Decode Exception: " + ex.Message); throw (ex); } }