• Ge Jun's avatar
    1. Add ThriftStub to send and receive native thrift messages & specify… · 515a8d0b
    Ge Jun authored
    1. Add ThriftStub to send and receive native thrift messages & specify method-name directly. As a result, ThriftMessage<T> is removed.
    2. ThriftFramedMessage (no matter Cast<>-ed or not) can be sent/received as well so that building proxies of thrift is much easier.
    3. ThriftFramedMessage::Cast<T> can be called multiple times with reasonable behaviors, even if T is changed.
    4. Server-side errors are sent to client as TApplicationException instead of closing the connection.
    5. Code in ThriftService::ProcessThriftFramedRequest() can throw exceptions which will be sent to client as errors as well.
    6. Simplify ThriftClosure which does not need many stuffs inherited from NsheadClosure.
    7. Port protocol-related patches to thrift_protocol.cpp which was changed before the patches.
    8. Remove the unnecessary default malloc when constructing TMemoryBuffer.
    9. Use TBinaryProtocolT instead of TBinaryProtocol to make read/write non-virtual, and remove the unnecessary shared_ptr on iprot/oprot.
    10. request/response must be ThriftFramedRequest when protocol is thrift, which was not checked before.
    11. Limit max length of thrift_method_name (to a reasonable large value) so that intermediate buffer can be allocated on stack directly.
    12. Make ThriftFramedMessage uncopyable since the TBase* inside does not have a general copy function.
    515a8d0b
Name
Last commit
Last update
.github Loading commit data...
bazel Loading commit data...
cmake Loading commit data...
docs Loading commit data...
example Loading commit data...
java Loading commit data...
python Loading commit data...
src Loading commit data...
test Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
BUILD Loading commit data...
CMakeLists.txt Loading commit data...
Dockerfile Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
README_cn.md Loading commit data...
WORKSPACE Loading commit data...
build_in_travis_ci.sh Loading commit data...
config.h.in Loading commit data...
config_brpc.sh Loading commit data...
glog.BUILD Loading commit data...
leveldb.BUILD Loading commit data...