# Module ebf_driver # * [Description](#description) * [Function Index](#index) * [Function Details](#functions)

Protocol driver process for EBF (Erlang Binary Format) protocol sessions.

This driver automagically relies on the OTP +gen_tcp+ "packet"
feature, using a 4-byte prefix to specify the size of the data
coming from the client.  Similarly, this packet feature is used
when sending our reply back to the client.
. __Behaviours:__ [`contract_driver`](contract_driver.md). ## Function Index ##
decode/4
encode/3
init/1
init/2
start/1
start/2
## Function Details ## ### decode/4 ### `decode(Contract, Options, X3, Binary) -> any()` ### encode/3 ### `encode(Contract, Options, Term) -> any()` ### init/1 ### `init(Contract) -> any()` ### init/2 ### `init(Contract, Options) -> any()` ### start/1 ### `start(Contract) -> any()` ### start/2 ### `start(Contract, Options) -> any()`