• 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
..
atomic_instructions.md Loading commit data...
avalanche.md Loading commit data...
backup_request.md Loading commit data...
baidu_std.md Loading commit data...
benchmark.md Loading commit data...
benchmark_http.md Loading commit data...
brpc_intro.pptx Loading commit data...
bthread.md Loading commit data...
bthread_id.md Loading commit data...
bthread_or_not.md Loading commit data...
builtin_service.md Loading commit data...
bvar.md Loading commit data...
bvar_c++.md Loading commit data...
case_apicontrol.md Loading commit data...
case_baidu_dsp.md Loading commit data...
case_elf.md Loading commit data...
case_ubrpc.md Loading commit data...
client.md Loading commit data...
combo_channel.md Loading commit data...
connections.md Loading commit data...
consistent_hashing.md Loading commit data...
contention_profiler.md Loading commit data...
cpu_profiler.md Loading commit data...
dummy_server.md Loading commit data...
error_code.md Loading commit data...
execution_queue.md Loading commit data...
flags.md Loading commit data...
flatmap.md Loading commit data...
getting_started.md Loading commit data...
heap_profiler.md Loading commit data...
http_client.md Loading commit data...
http_service.md Loading commit data...
io.md Loading commit data...
iobuf.md Loading commit data...
json2pb.md Loading commit data...
lalb.md Loading commit data...
live_streaming.md Loading commit data...
load_balancing.md Loading commit data...
memcache_client.md Loading commit data...
memory_management.md Loading commit data...
new_protocol.md Loading commit data...
nshead_service.md Loading commit data...
overview.md Loading commit data...
parallel_http.md Loading commit data...
redis_client.md Loading commit data...
rpc_press.md Loading commit data...
rpc_replay.md Loading commit data...
rpc_view.md Loading commit data...
rpcz.md Loading commit data...
server.md Loading commit data...
server_debugging.md Loading commit data...
server_push.md Loading commit data...
status.md Loading commit data...
streaming_log.md Loading commit data...
streaming_rpc.md Loading commit data...
thread_local.md Loading commit data...
threading_overview.md Loading commit data...
thrift.md Loading commit data...
timer_keeping.md Loading commit data...
ub_client.md Loading commit data...
vars.md Loading commit data...