``cassandra.protocol`` - Protocol Features
=====================================================================

.. module:: cassandra.protocol

.. _custom_payload:

Custom Payloads
---------------
Native protocol version 4+ allows for a custom payload to be sent between clients
and custom query handlers. The payload is specified as a string:binary_type dict
holding custom key/value pairs.

By default these are ignored by the server. They can be useful for servers implementing
a custom QueryHandler.

See :meth:`.Session.execute`, ::meth:`.Session.execute_async`, :attr:`.ResponseFuture.custom_payload`.

.. autoclass:: _ProtocolHandler

    .. autoattribute:: message_types_by_opcode
        :annotation: = {default mapping}

    .. automethod:: encode_message

    .. automethod:: decode_message

.. _faster_deser:

Faster Deserialization
----------------------
When python-driver is compiled with Cython, it uses a Cython-based deserialization path
to deserialize messages. By default, the driver will use a Cython-based parser that returns
lists of rows similar to the pure-Python version. In addition, there are two additional
ProtocolHandler classes that can be used to deserialize response messages: ``LazyProtocolHandler``
and ``NumpyProtocolHandler``. They can be used as follows:

.. code:: python

    from cassandra.protocol import NumpyProtocolHandler, LazyProtocolHandler
    from cassandra.query import tuple_factory
    s.client_protocol_handler = LazyProtocolHandler   # for a result iterator
    s.row_factory = tuple_factory  #required for Numpy results
    s.client_protocol_handler = NumpyProtocolHandler  # for a dict of NumPy arrays as result

These protocol handlers comprise different parsers, and return results as described below:

- ProtocolHandler: this default implementation is a drop-in replacement for the pure-Python version.
  The rows are all parsed upfront, before results are returned.

- LazyProtocolHandler: near drop-in replacement for the above, except that it returns an iterator over rows,
  lazily decoded into the default row format (this is more efficient since all decoded results are not materialized at once)

- NumpyProtocolHander: deserializes results directly into NumPy arrays. This facilitates efficient integration with
  analysis toolkits such as Pandas.
