iscp.Downstream - 下り用ストリーム¶
ダウンストリームを表すクラス¶
- class Downstream[ソース]¶
ダウンストリームを表すクラスです。
注意
このクラスのオブジェクトは、必ず iscp.Conn の open_downstream() を使用して生成してください。
async with await Conn.connect(...) as conn: async with await conn.open_downstream(...) as downstream: pass
このコードは以下のコードと等価です。
async with await Conn.connect(...) as conn: downstream = await conn.open_downstream(...) try: pass finally: await downstream.close()
- async chunks(*, timeout=None)[ソース]¶
ダウンストリームチャンクを受信します。
- パラメータ:
timeout (Optional[float]) -- 読み込みタイムアウト(秒)。指定しない場合はタイムアウトしません。
- 列挙:
iscp.DownstreamChunk -- ダウンストリームチャンク
サンプル
>>> with conn.open_downstream(...) as downstream: async for msg in downstream.chunks(): print(msg)
- async metadatas(*, timeout=None)[ソース]¶
タイムアウトを指定して、ダウンストリームメタデータを受信します。
- パラメータ:
timeout (Optional[float]) -- 読み込みタイムアウト(秒)。指定しない場合はタイムアウトしません。
- 列挙:
iscp.DownstreamMetadata -- ダウンストリームメタデータ
サンプル
>>> with conn.open_downstream(...) as downstream: async for msg in downstream.metadatas(): print(msg)
- property ack_interval¶
Ack返却間隔(秒)を取得します。
- 戻り値:
Ack返却間隔(秒)
- 戻り値の型:
float
- property expiry_interval¶
有効期限を取得します。
- 戻り値:
ストリームの有効期限(秒)
- 戻り値の型:
float
- property filters¶
ダウンストリームフィルターを取得します。
- 戻り値:
ダウンストリームフィルターのリスト
- 戻り値の型:
List[iscp.DownstreamFilter]
- property id¶
ストリームIDを取得します。
- 戻り値:
ストリームID
- 戻り値の型:
UUID
- property server_time¶
DownstreamResponseで返却されたサーバー時刻を取得します。
- 戻り値:
DownstreamResponseで返却されたサーバー時刻
- 戻り値の型:
- property state¶
ストリームの状態を取得します。
- 戻り値:
ダウンストリームの状態
- 戻り値の型:
ダウンストリーム用の各種クラス¶
- class DownstreamFilter(source_node_id, data_filters)[ソース]¶
ダウンストリームフィルタを表します。
- source_node_id¶
送信元ノードID
- Type:
str
- data_filters¶
データフィルタのリスト
- Type:
List[iscp.DataFilter]
- class DataFilter(name, type)[ソース]¶
受信するデータを指定するためのデータフィルタです。
名称や型の指定において階層構造を表現したいときには、特殊文字
/をセパレータとして使用することができます。特殊文字
#はマルチレベルワイルドカードです。フィルタが
#のとき、nameはマッチします。フィルタが
#のとき、group/nameはマッチします。フィルタが
group/#のとき、group/nameはマッチします。フィルタが
group/#のとき、group/sub-group/nameはマッチします。フィルタが
group/#のとき、other-group/nameはマッチしません。
特殊文字
+は単一レベルワイルドカードです。フィルタが
+のとき、nameはマッチします。フィルタが
group/+のとき、group/nameはマッチします。フィルタが
group/+/nameのとき、group/sub-group/nameはマッチします。フィルタが
group/+/nameのとき、group/other-group/nameはマッチします。フィルタが
group/+/nameのとき、group/other-group/some-nameはマッチしません。
- name¶
名称
- Type:
str
- type¶
型
- Type:
str
- class DownstreamState[ソース]¶
ダウンストリームの状態を表します。
- id¶
ストリームID
- Type:
UUID
- data_id_aliases¶
データIDエイリアスとデータIDのマップ
- Type:
Dict[int, iscp.DataID]
- last_issued_data_id_alias¶
最後に払い出されたデータIDエイリアス
- Type:
int
- upstream_infos¶
アップストリームエイリアスとアップストリーム情報のマップ
- Type:
Dict[int, iscp.UpstreamInfo]
- last_issued_upstream_info_alias¶
最後に払い出されたアップストリーム情報のエイリアス
- Type:
int
- last_issued_ack_sequence_number¶
最後に払い出されたAckのシーケンス番号
- Type:
int
- server_time¶
DownstreamOpenResponseで返却されたサーバー時刻
- Type:
- class DownstreamChunk[ソース]¶
ダウンストリームチャンクを表します。
- upstream_info¶
アップストリーム情報
- Type:
- sequence_number¶
シーケンス番号
- Type:
int
- data_point_groups¶
データポイントグループのリスト
- Type:
List[iscp.DataPointGroup]