# Module contract_driver #
* [Description](#description)
* [Function Index](#index)
* [Function Details](#functions)
Generic protocol driver process for protocol sessions.
.
__This module defines the `contract_driver` behaviour.__
Required callback functions: `start/1`, `start/2`, `init/1`, `init/2`, `encode/3`, `decode/4`.
## Function Index ##
## Function Details ##
### behaviour_info/1 ###
`behaviour_info(Other) -> any()`
### loop/5 ###
`loop(Module, Contract, Options, Pid, Socket) -> any()`
### loop/6 ###
`loop(Module, Contract, Options, Pid, Socket, Timeout) -> any()`
### relay/3 ###
`relay(Module, Pid, Pid1) -> any()`
### start/3 ###
`start(Module, Contract, Options) -> any()`