I suggest reading the native protocol spec: https://github.com/apache/cassandra/blob/trunk/doc/native_protocol_v3.spec
The native protocol is not RPC. One of the reasons why it is more efficient than thrift is that multiple operations can be in flight at the same time with a single connection. The java driver uses Netty for its implementation. If I had to pick a single class that's the "core", I would say Message.java: https://github.com/datastax/java-driver/blob/2.1/driver-core/src/main/java/com/datastax/driver/core/Message.java On Tue, Dec 23, 2014 at 1:11 AM, 孔嘉林 <kongjiali...@gmail.com> wrote: > > Hi, I am curious about the underlying implementation of the CQL native > binary protocol. It is also a RPC protocol, right? But how can it > outperform thrift as they are both RPC protocol? > The Cassandra driver has already implemented this native binary protocol, > could anyone tell me which part of the source code is the core of the > binary protocol(java or c++ driver)? > > Thank you very much, > Joy > -- Tyler Hobbs DataStax <http://datastax.com/>