[id='endpoint-protocol-comparison_{context}']
= Comparison of endpoint protocols

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