应用程序或本地节点都可以终止主逻辑单元(PLU)连接。 关闭的条件如下:
如果本地节点从主机 PLU 收到 UNBIND 请求,这会终止 PLU 会话,则本地节点将关闭 PLU 连接。 如果 UNBIND 类型为 BIND 即将到来(0x02),本地节点会在 Close(PLU)请求中设置 BIND-forthcoming 指示器,以便应用程序可以保留任何必要的资源。
如果本地节点从系统服务控制点(SSCP)收到停用逻辑单元(DACTLU)或停用物理单元(DACTPU)请求,则本地节点将关闭 PLU 连接。
如果本地节点从数据链接控制收到中断通知,则本地节点将关闭 PLU 连接。
如果本地节点在应用程序的消息中检测到严重错误,则本地节点将关闭 PLU 连接,使应用程序处于严重失败状态。 在这种情况下,本地节点将 TERM-SELF 请求发送到主机,以引发 UNBIND。
应用程序应在逻辑断电条件下关闭 PLU 连接。 例如,如果其资源暂时不可用,或者当用户使用会话完成时。
当本地节点发出 Close(PLU) 请求时,应用程序可以从 “关闭 ”控件字段确定原因。 PLU连接可能有一个关联的状态消息(状态确认(Nack-2)),或者在SSCP连接上当LU被停用时为状态会话消息。
无论本地节点还是应用程序关闭连接,消息都是相同的。 Close 序列的发起方向其合作伙伴发送 Close(PLU) 请求,合作伙伴以 Close(PLU) 响应 回复。 Close(PLU) 请求是无条件的。 Close(PLU) 响应始终报告连接已成功关闭。
提供 Close(PLU) 响应 ,以便 Close 序列的发起方可以确定何时传递未完成的数据和状态消息。 为避免可能的竞争条件,应用程序应在发出Close(PLU)请求之后,在收到Close(PLU)响应之前,忽略所有来自PLU连接的消息,包括来自本地节点的任何Close(PLU)请求消息。
请注意,如果应用程序在 PLU 会话处于活动状态时发送 Close(SSCP) 请求 ,则本地节点将关闭 PLU 连接(就好像已发送 Close(PLU) 请求 )以及 SSCP 连接。
下图显示了应用程序启动的 Close 的消息序列。 本地节点向主机发送 TERM-SELF 请求,以引发 UNBIND。
如果主机在收到TERM-SELF时自动生成UNBIND,则应用程序可以将Close(PLU)视作终止PLU-SLU会话的等同操作。
应用程序发起的关闭消息序列下图显示了从主机接收 UNBIND 请求后本地节点发起的 Close 的消息流。
收到 UNBIND 请求后,由本地节点发起的 Close 的消息流当应用程序使用 FMI 的逻辑单元应用程序(LUA)变体时,发出 Close(PLU) 请求 会导致节点通过向 PLU 发送 UNBIND 请求来立即取消绑定 PLU 会话。 在收到 UNBIND 响应时,Close(PLU) 响应将返回到应用程序,如下图所示。
Close(PLU) 响应的消息流
另请参阅
打开 PLU 连接
PLU 会话
出站链式处理
入站链
分段交付
括号
方向
节奏和分块
确认和拒绝数据]
关闭和静止
恢复
Application-Initiated 终止
LUSTAT]
响应时间监视器数据