What is Nostr?
月野うさぎ (TSUKINO Usagi)
npub1avg…yucl
2023-11-25 00:08:03

月野うさぎ (TSUKINO Usagi) on Nostr: こやつ ...

こやつ (※)で、オーバレイ上でListenしてるノードが複数ノードを相手にできるよう苦心してコード書いて、動作確認を始めたところ、

※: https://github.com/ryogrid/gossip-overlay/tree/4479d343c9425e3b6c770e03f7e0460d6637dc29

実装で利用している pion/sctp というライブラリが以下のようなエラーを出力しており、

sctp ERROR: 2023/11/24 22:40:06 Failed to handle chunk: todo: handle Init when in state: Established

そもそもpion/sctp が想定する形での利用をサポートしてないようだと分かり、困ったなあ、となっているなう。

とはいえ、SCTPの実装と一口にいっても、RFCのどこまでに対応しているかは個々の実装次第なんですよね。

あとは、そもそもpionというやつは WebRTC実装(のためのライブラリ?)をこしらえることを目的としたプロジェクトらしく、リポジトリ名を省略すると、webrtc, datachannel、dtls、turn、ice とか軒並み実装していて、私が使わせてもろてる sctp のライブラリもその中の一つだったりする。

んで、WebRTCだと1対1のdatachannelが1つ張れれば、最低限良いはずで、そこからするとpion/sctpのサポート範囲が現状のそれでもおかしくはないんかな、と思ったりしました。
(メディア用の通信路は別ポートで張ればよい?)
Author Public Key
npub1avgeydxyv7kf6tl75kmjsne6wj7sg2r6zt8atz3z6xtzvs6vmheqssyucl