出站配速

若應用程式有足夠資源以網路能提供的速度處理出站資料(例如螢幕),或是較高層協定(例如即時請求模式)限制資料流,應用程式無需參與節奏控制,且本地節點可透明處理出站節奏。

然而,某些類型的應用可能需要參與外發配速。 若應用程式資源有限(例如印表機),應在 Open(PLU) OK 回應的連線資訊控制區塊(CICB)中指定應用程式節奏選項。 (更多資訊請參見 「開啟PLU連結」。)應用程式也應在 Open(PLU) OK 回應 時,定期使用 Status-Resource 訊息,向本地節點提供這些資源的狀態資訊。

為協助應用程式計算 Open(PLU) OK 回應中的初始信用欄位,本地節點會提供 Open(PLU) 請求的節奏視窗大小,以及主要與次要最大請求/回應單元(RU)大小。 初始學分必須至少與主次級學習時段的長度相當。 否則, BIND 將被拒絕,應用程式將收到 Open(PLU) 錯誤確認 訊息。 本地節點會填入一個建議的初始信用值,該值為傳輸窗口加一(以避免出現斷斷續續的情況)。

請注意,如果應用程式指定它需要參與速度控制(無論初期授信為何),但 BIND 指定沒有出站速度控制,本地節點也會拒絕 BIND。

只有功能管理資料(FMD)請求屬於信用方案,因此應用程式必須在緩衝區內保留空間,以容納每個 RU 的一個 狀態控制 請求,此外還需依初始信用點數指定的 RU 數量。 ( 狀態控制 訊息佔用 36 位元組。)

應用程式交付給本地節點的每一單位信用,都允許本地節點給予應用程式一個 RU (若使用分塊則是單一區塊)。 請注意,若應用程式接收區段,這可能對應多個 DATAFMI 訊息。 應用程式可使用開始基本資訊單元(BBIU)及結束基本資訊單元(EBIU)旗標來計算RUs,以達到出站流量控制的目的。

應用程式應維持信用使用次數,並應在狀態 資源 訊息中向本地節點報告。 應用程式需要採取以下步驟:

  • 在處理(未接收)設定為 EBIU 的 DATAFMI 訊息(對應 FMD 請求)時,將已使用信用的計數增加一。

  • 處理 狀態控制 訊息及來自本地節點的所有訊息時,不要增加已使用信用的計數。

  • 定期以 狀態資源 訊息報告目前已使用信用額度的數量。

  • 當緩衝區變空時(不管最後處理的訊息是哪一則),若信用使用次數不為零則報告該次數。

  • 當「已使用信用」的計數回報給本地節點時,將其重置為零。

    應用程式提供 狀態資源 訊息的頻率並未設計好。 然而,本地節點只會向應用程式發送與其獲得信用數量相同的 資料 訊息。 當應用程式的信用使用數達到初始信用值時,本地節點將不再傳送資料。 應用程式應嘗試在此之前發送狀態 資源 訊息,因為若本地節點無法向應用程式發送 資料 訊息,而主機仍在發送請求,本地節點可能無法在需要時向主機發送節奏回應,導致效能下降。

    若節奏視窗較小,例如一至兩個,應用程式應在處理每個 DATAFMI 訊息後傳送 Status-Resource,使本地節點能發送適當的節奏回應。

    下圖顯示當應用程式未參與時,本地節點負責外出節奏(APPLPAC = 0x00)。 節奏視窗假設為二。

    這張圖片顯示一個本地節點管理出站節奏。
    本地節點處理出站節奏

    下圖顯示本地節點與應用程式負責出站控制,假設出站控制窗口設為二,且假設本地節點給應用程式的初始信用為四。 請注意,當應用程式在該視窗剩餘時間及下一個視窗獲得足夠信用後,本地節點即可向主機發送隔離節奏回應(IPR)以取得另一個充滿資料的視窗。

    圖片顯示本地節點和應用程式處理出站速率控制。
    本地節點與應用程式處理出站資料流控

另請參閱

開啟PLU連接
PLU 會議
外部鏈接
入站鏈結
分段交付
括弧
方向
節奏與分段
資料確認與否定]
關閉與停擺
Recovery
應用程式啟動的終止
LUSTATs]
反應時間監控資料