[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[kahua-dev:00653] session と寿命を共にするオブジェクト
久住です.
以下の要求を満たすクラスを作りたいのですが, どうもうまくできないので
お知恵を拝借できないでしょうか.
1) sessionと寿命を共にするインスタンスを生成できる
2) すべてのインスタンスの集合を取得できる
# 具体的な応用は例のごとくWWW chatです^^;;
# http://www.soraneko.com/~nel/src/chat.kahua
最初は
(ref (kahua-context-ref "session-state") 'なにかキーワード)
とかにset!したらよいかと思ったのですが, worker processは複数生成
できるようなので, 2)の条件を満たさない気がします.
そこで, sessionと寿命を共にするpersistentなobjectを作ったらいいのか
と考えましたが, その場合, 自前でsessionがtimeoutしたobjectをgcしてやる
必要がありそうです. sweep-session-stateのところにhookできるようにして
回収させようと思ったのですが, よく考えるとworker processが何かの理由で
無くなったときにはhookが消えてしまって, あんまりよくないです.
結局, timestampを自前でもたせて, timestampの更新, gcを自前で書いてし
まったのですが, なんか他にいい方法はないでしょうか?
最終的にはAPIが提供されるとうれしいなぁとおもいます.