skyway-webrtc-gateway-caller

Crates.ioskyway-webrtc-gateway-caller
lib.rsskyway-webrtc-gateway-caller
version0.2.1
sourcesrc
created_at2022-03-15 09:51:09.342864
updated_at2022-11-10 04:33:02.532378
descriptionEasy crate for SkyWay WebRTC Gateway
homepage
repositoryhttps://github.com/nakakura/skyway_webrtc_gateway_caller
max_upload_size
id550391
size329,116
Toshiya Nakakura (nakakura)

documentation

https://docs.rs/skyway-webrtc-gateway-caller

README

SkyWay WebRTC Gateway Control Module

SkyWay WebRTC Gateway 操作用のモジュールである。

SkyWay WebRTC Gatewayを利用すると、LAN内の通信をWebRTCをWebRTCに変換してインターネット上に転送することができる。

fig1

SkyWay WebRTC GatewayはREST APIで操作することができ、このAPIをRustから叩くためのラッパーが WebRTC Gateway API crate である。 このcrateはlow levelの実装であり、REST APIの実行順序などのドメイン知識がなければ、SkyWay WebRTC Gatewayを利用することができない。

SkyWay WebRTC Gateway Control Module crateはこれをラッピングするhigh levelなcrateとして提供する。 外部プログラムに対しては、tokio::sync::mpsc によるインタフェースでのJSONメッセージ交換を介して、簡単に操作できるようにする。 Rust製プログラムや、FFIを介しての外部プログラムからの利用を想定している。

fig1

JSONメッセージに関するドキュメントは現在作成中である。

SkyWay WebRTC Gatewayの処理は、サーバを介して行うため、非同期的に実行するよう想定され設計されている。 但し利用者側のプログラムによっては同期的にアクセスの方が簡便なため、これをラッピングする本crateでは、同期的に利用可能な2つのチャンネルを提供する。

  • 操作用のSender channel
  • イベント受信用のReceiver channel

Sender channelには、操作用のJSONメッセージと、一次的な戻り値を受け取るためのoneshotチャネル を与える。

Receiver channelからは、SkyWayサーバでの処理完了後に受け取ることのできるイベントメッセージが返される (相手側からの通信開始要求や、WebRTCセッション確立完了メッセージなど)。

Commit count: 173

cargo fmt