2013年1月4日金曜日

purgeIdleCellConnections: found one to purge の意味が判明

iOS6から出るようになったメッセージの意味がついに判明。デバッグログが残っていただけみたいだ。。




要約:

・purgeIdleCellConnections:.. はデバッグメッセージが誤って残っていた

・NSURLConnection は HTTP/1.1 persistent connection 用のキャッシュを持っている

・このキャッシュは単一ホストに対する複数の persistent connection を1まとめにして管理する

・キャッシュ内の connection に紐づくリクエストがすべて完了するとアイドル(状態)になる

・アイドル(状態)が続くとキャッシュから purgeされ(切り離され)、使っていたTCP/IPを切断する

・この仕組が iOS6から変わった
iOS6以前:単一の仕組みで構成、OS X とタイムアウトが
大きく異なっていた(OSX/30s vs iOS/3-6s)

iOS6以降:2つの仕組みで構成、WWAN接続とそれ以外の
接続でタイムアウトを分けた
WWAN:3s
それ以外:60s

・このデバッグメッセージはWWAN接続がキャッシュから purgeされた時に表示される

・iOS5ではこのメッセージは出ない


というわけで無害であることが判明。

(参考)
[Studying HTTP] HTTP Connections

0 件のコメント:

コメントを投稿