From: <wd...@fr...> - 2008-12-21 00:31:16
|
I was very interested by the patch provided by Mr Robert David about session end notification to a cleanup Pid ('yaws_session_end' message). But for my project I need to be notified when a session is created. So I decided to extend the patch by providing a real callback mechanism. The callback could be a Pid or a tuple {M,F} (module, function). Messages send to the callback pid or used as paramater in the {M,F}, are : - on session expiration/deletion : {yaws_session_end,Reson,S#ysession.cookie,S#ysession.opaque} - on session creation : {yaws_session_start,S#ysession.cookie,S#ysession.opaque} I decided to send in the message the cookie value and the opaque value, because most of the times opaque value contains information that I need, and I don't want to make a new call on the session table to retrieve it. (I don't send the #ysession record because I consider that application don't have to be #ysession aware to handle the event). Modifications : - the 'cleanup' field in the record ysession is now 'callback' - the function print_sessions display the callback configuration - a report_new_sess() function is called on "new_session" message - send_cleanup_message is replaced by send_callbackèmessage wde |