reliable messages may be discarded, without notice
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 18/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 活発
- 技術スタック
- cpp
- 領域
- networking
調査の方向性
The issue lists four cases where reliable messages are silently dropped: full send buffer, full receive buffer, full receive message count, and oversize received messages. Start by tracing the reliable send and receive paths for each limit, and check how the library reports or hides the drop. Done means the maintainers have decided whether to notify the application, close the connection, or expose sequence numbers, and any agreed change is covered by tests. This needs maintainer input before any code.
索引モデルが issue の本文から書いたものです。
説明
There are several situations in which steam discards reliable messages:
- send buffer fills up
- recv buffer fills up
- recv messages count fills up
- received message is longer than the limit
and possibly more.
Steam never notifies the application that a reliable message was discarded. It also allows sending and receiving more messages. This leaves a gap in the supposedly reliable messages. And that causes issues.
Is it possible to configure steam to detect such case (on the receiving end), and either notify the application, or close the connection?
Alternatively, I have implemented a simple sequence number per lane on top of steam messages, but that is 4 or 8 bytes per message, which I would prefer to avoid. Does steam provide sufficient information to detect discarded reliable message, eg. using the sequence number that steam provides? Are these sequence numbers shared or separate for each lane? Are they separated or shared between reliable and unreliable messages in the same lane?
Thanks for any clarifications.
- 主要言語
- C++
- スター
- 10k
- フォーク
- 767
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ValveSoftware/GameNetworkingSockets のほかの issue
-
ICE (native client): relay-only connections time out against a real TURN server; host-socket checks starve the relay pairs対応中かも @Mr444-dev が 4 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
ValveSoftware/GameNetworkingSockets#452 ·
メンテナーはふだん 2 日以内に返信
-
難易度 4/5 1週間以上 初心者へのやさしさ 12/100
ValveSoftware/GameNetworkingSockets#465 ·
メンテナーはふだん 2 日以内に返信
-
Assertion Failed: pSock->m_callback.m_fnCallback (socketthread.cpp:2609) after re-initializing the library with GameNetworkingSockets_Kill + GameNetworkingSockets_Init対応中かも @siddiqueirshad が 10 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
ValveSoftware/GameNetworkingSockets#458 ·
メンテナーはふだん 2 日以内に返信
-
ISteamNetworkingSockets: Trying to use over 8 network lanes/channels fails対応中かも @jpggvilaca が 14 日前に担当しました。 オープン
難易度 4/5 1〜2日 初心者へのやさしさ 55/100
ValveSoftware/GameNetworkingSockets#455 ·
メンテナーはふだん 2 日以内に返信
-
ConfigureConnectionLanes: reconfiguring lanes can leave one lane in a stale priority class対応中かも @sebxt が 18 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
ValveSoftware/GameNetworkingSockets#453 ·
メンテナーはふだん 2 日以内に返信
ValveSoftware/GameNetworkingSockets の issue をすべて見る
似ている issue
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Sunrisepeak/mcpp-language-server#80 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
xiaoyifang/goldendict-ng#3148 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
triton-inference-server/server#9069 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 4 日以内に返信