= Protocol Comparison

//Community includes Memcached
ifdef::community[]
[cols="20,^20,^20,^20",options="header"]
|============================================================
|                    | Hot Rod    | HTTP / REST     | Memcached
| Topology-aware     | [green]*Y* | [red]*N*        | [red]*N*
| Hash-aware         | [green]*Y* | [red]*N*        | [red]*N*
| Encryption         | [green]*Y* | [green]*Y*      | [red]*N*
| Authentication     | [green]*Y* | [green]*Y*      | [red]*N*
| Conditional ops    | [green]*Y* | [green]*Y*      | [green]*Y*
| Bulk ops           | [green]*Y* | [red]*N*        | [red]*N*
| Transactions       | [green]*Y* | [red]*N*        | [red]*N*
| Listeners          | [green]*Y* | [red]*N*        | [red]*N*
| Query              | [green]*Y* | [green]*Y*      | [red]*N*
| Execution          | [green]*Y* | [red]*N*        | [red]*N*
| Cross-site failover| [green]*Y* | [red]*N*        | [red]*N*
|============================================================
endif::community[]

//RHDG does not support Memcached
ifdef::downstream[]
[cols="20,^20,^20",options="header"]
|==============================================
|                    | Hot Rod    | HTTP / REST
| Topology-aware     | [green]*Y* | [red]*N*
| Hash-aware         | [green]*Y* | [red]*N*
| Encryption         | [green]*Y* | [green]*Y*
| Authentication     | [green]*Y* | [green]*Y*
| Conditional ops    | [green]*Y* | [green]*Y*
| Bulk ops           | [green]*Y* | [red]*N*
| Transactions       | [green]*Y* | [red]*N*
| Listeners          | [green]*Y* | [red]*N*
| Query              | [green]*Y* | [green]*Y*
| Execution          | [green]*Y* | [red]*N*
| Cross-site failover| [green]*Y* | [red]*N*
|==============================================
endif::downstream[]
