Open1

miniio: libuvをイベントキュー型にしたい

okuokuokuoku

数時間で終わると思っていた事が3日経っても終わっていないとは。。

libuvはイベントの通知をコールバックで行うスタイルになっている。が、コールバックの方をスクリプトにするのが地味に面倒なので通常のGUIライブラリ同様イベントキュー型に変更したい。

難しい点

原理的には、イベントキューに溜まったイベントを アプリケーションに渡さずに捨てる というケースが存在する。つまり、アプリケーションからsocketのcloseを要求されても、それまでにデータが到着してしまっている可能性がある。

とりあえずイベントは捨てず、アプリケーションがclose要求のcompletionを受け取るまでは、アプリ側はcloseしたとは思わないという感じで。。handleのユニークネスは保証しないということで。(アプリ側から渡すuserdataをユニークにすれば問題ないので)