本文档指定了 ZeroMQ 独占对模式的语义,该模式涵盖了 PAIR 套接字类型。此规范旨在指导此套接字类型的实现,以便用户可以依赖可靠的语义。
原文地址: 31/EXPAIR
目标
该规范旨在正式记录 PAIR 套接字类型的名称和预期行为,该类型构成了 ZeroMQ 独占对模式。此套接字类型的符合性实现应遵循此规范,从而确保应用程序可以依赖于可预测的行为。此规范不是特定于传输的,但并非所有行为都可以在所有传输上重现。
模式目标
PAIR 不是通用套接字,而是用于两个对等体在架构上稳定的特定用例。一般情况下用于线程间通信。
PAIR 套接字
一般行为:
最多可以连接到一个 PAIR 对等体,并且可以同时发送和接收消息。
不得以任何方式过滤或修改传出或传入消息。
将会为其对等方维护一个双队列,允许传出和传入消息独立排队。
在启动与对等体的传出连接时,应创建双队列,并且无论是否建立连接,都应保持双队列。
当对等体连接到它时,应创建一个双队列。如果此对等体断开连接,则 PAIR 套接字应销毁其双队列,并应丢弃它包含的任何消息。
应将传入和传出队列大小限制为运行时可配置的限制。
用于处理传出邮件:
仅当其传出队列未满时,才应将其对等方视为可用。
当没有可用的对等体时,应阻止发送或返回适当的错误。
当没有可用的对等体时,不应接受进一步的消息。
不得丢弃无法排队的消息。
对于处理传入消息:
应接收来自其单个对等体的传入消息(如果有)。
应将这些内容交付给其调用应用程序。