coder / coder/websocket

[chat example] How to simulate slow connection?

オープン
#542 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Go
スター
5.5k
フォーク
372
PR マージ指標
30日以内にマージされた PR はありません

説明

I want to observe in what scenario `closeSlow` is called, How to simulate slow connection mentioned in [websocket/internal/examples/chat/chat.go](https://github.com/coder/websocket/blob/v1.8.14/internal/examples/chat/chat.go#L120-L127)?:
```
s := &subscriber{
msgs: make(chan []byte, cs.subscriberMessageBuffer),
closeSlow: func() {
mu.Lock()
defer mu.Unlock()
closed = true
if c != nil {
c.Close(websocket.StatusPolicyViolation, "connection too slow to keep up with messages")
}
},
}
```

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

internal/examples/chat/chat.go の120-127行付近から始め、chat例のsubscriberの動作を通じて closeSlow callback を追跡します。メッセージがsubscriberに届く仕組みを調べながらchat例を実行し、その後、低速接続の状態を再現可能な方法で発生させる手順と、期待される結果を文書化します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
go
領域
networking
issue の種類
ドキュメント
難易度
2/5
見積もり時間
1〜3時間
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。