TCP データを Mac クライアントに (GCDAsyncSocket 経由で) 送信する EventMachine サーバーがあります。しばらくの間は常に問題なく動作しますが、必然的に、サーバーは接続ごとにデータの送信を突然停止します。接続は引き続き維持され、サーバーは引き続きクライアントからデータを受信しますが、逆方向には進みません。
これが発生すると、connection#get_outbound_data_size を介して、接続送信バッファーが (#send_data を介して) 無限にいっぱいになり、クライアントに送信されていないことがわかりました。
これが発生する可能性がある特定の (そしてできれば修正可能な) 理由はありますか? リアクターはハミングし続け、サーバーへの他のアクティブな接続は正常に動作し続けます (ただし、バッファ地獄に陥ることもあります)。