DCP utilizes the Memcached binary protocol as the basis for protocol definitions (Memcached Binary Protocol Definitions) and defines a set opcodes for DCP commands.
A DCP connection differs from the standard Memcached connections because DCP connections are full duplex while the normal Memcached connections are simplex (eg. the client sends a command, the server responds, etc).
The typical scenario begins with the client requesting a stream. Upon success the server starts sending messages back to the client for mutations/deletions/expirations etc. While receiving messages the client can send additional commands to the server to start additional DCP streams, etc.
- Abort
- Add Stream
- Buffer Acknowledgement
- Cache Transfer (see also the Cache Transfer overview)
- Cache Transfer End
- Close Stream
- Commit
- Control
- Deletion
- Expiration
- Failover Log Request
- Flush
- Get All vBucket Sequence Numbers
- Mutation
- No-Op
- Open Connection
- OSO Snapshot
- Persist Sequence Number
- Prepare
- Random Key
- Seqno Acknowledged
- Seqno Advanced
- Set VBucket State
- Snapshot Marker
- Stats VBucket-Seqno
- Stream End
- Stream Request
- System Event
- VBucket Takeover