暑い。明日から数日は寒いようだ。ひでえ。
日曜にM3行ったが、やっぱ同人イベントで一番楽しみなのはM3だな。2時間程で出てきたが、なんであんなに疲れるのか謎だ。 前回のM3はシンガポール帰りに成田から直行だったんだが、あれからもう半年……っていうよりまだ半年しか経ってねぇのかよ。だいぶ前のことだと思ってたわ。
まあだいたい分かってはいたことだけど、一見それなりに動いてるので配信してみたらどうもおかしい。 リレーに来たけどぷちぷち切れまくってるのが見えるし、直下より下にリレーできてないように見える。
深夜の配信だからそんなに人多くないし短時間だということで、ログをある程度とっといて終了した。
あとでログ解析するとなんとなく怪しいところが見えるな。
リレーいっぱいですって返した時に、通常なら次に接続しにいくところを紹介するはずなんだが、投げてないように見える。ソースを追い掛けると確かに処理してないな。書き換えた時に抜けたんだろうか。追加しといた。
たまにコンテンツの送信スキップが起きて切れてるのもある。 送信スキップって、普通は送信が間に合わなくて、送り終えたから次のやつ送ろうぜーって思ったら丁度続きのパケットは期限切れで無くなっていた、ていう場合に起きるやつなんだけど、次のパケット探したら1バイトずれてるパケットしか無かったわー切ろ、っていうログが出ていた。1バイトのパケットは発生しえないので何か間違ってるな……。これはまだ調べられてない。
スレッドをTask化しただけじゃなくてasync/awaitに書き換えてる途中でいろいろとバグも仕込んじゃってるなぁ……。地道にデバッグしていくしかないか。
送信スキップについて書いてて今気付いたけど、パケット受け取ったやつって送信キューにひたすらつっこんでくから送信スキップって現在の実装だと発生せずに、間に合ってなくてもどんどんメモリ食っていくだけなんじゃ……。これまずいからなんか考えないとなぁ。