Tokyo Tyrant接続機能を作ってて、当初はmemcachedクライアントを使ってたんだけど、キー一覧取得とか色々使いたくなって、どうせならTokyo Tyrant独自プロトコルの方が速いかもとか若干暴走気味にクライアントを作ってたら、タイトル通りはまったのでまとめておく。 パフォーマンス重視のプログラム書くならnio使うだろJK …と、大して検討せずにSocketChannel使って書来だした。 途中で「タイムアウト設定してねーや、まー、ちょいとJavadoc調べたらあんだろ、まー後でいいや。」と放置。 大体動いたところで、いざ探してみると無い。よくあるsetTimeout()っぽい何かが全然無い!!うーん… Javadoc見ても見あたらない。ぐぐる先生に聞くとSocketChannelのConnectionタイムアウトはノンブロッキングだったらできるよ!って書いてある。 めんどく