Thread overview |
---|
January 28, 2015 why there is no TBase in thrift for dlang? | ||||
---|---|---|---|---|
| ||||
I am writing code below: private Cmd deserialCmd(ubyte[] data) { Cmd ret; TMemoryBuffer trans = new TMemoryBuffer(data); auto prot = new TCompactProtocol!TMemoryBuffer(trans); ret.read(prot); return ret; } If I have diffrent Cmd, I have to repeat the code above, TBase has methods like write(protocol) read(protocol), if it exists in thrift for dlang, I could write like this: private TBase deserialCmd(ubyte[] data,TBase ret) { TMemoryBuffer trans = new TMemoryBuffer(data); auto prot = new TCompactProtocol!TMemoryBuffer(trans); ret.read(prot); return ret; } But TBase doesnt exists in thrift for dlang, what can i do now? |
January 28, 2015 Re: why there is no TBase in thrift for dlang? | ||||
---|---|---|---|---|
| ||||
Posted in reply to zhmt | I resovled it by Generic programming : private const (ubyte)[] serialObj(T) (T obj) { TMemoryBuffer trans = new TMemoryBuffer(); auto prot = new TCompactProtocol!TMemoryBuffer(trans); obj.write(prot); return trans.getContents(); } |
Copyright © 1999-2021 by the D Language Foundation