从功能上来讲,libzmq 分为了下面几层:
Socket 负责套接字的语义层
Engine 代表了一条连接(比如 TcpStream)
Decoder 代表了 zmtp 编码器和解码器
Pipe 是一个消息管道