Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 20539 invoked from network); 17 Nov 2005 12:00:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 17 Nov 2005 12:00:23 -0000 Received: (qmail 46829 invoked by uid 500); 17 Nov 2005 12:00:23 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 46616 invoked by uid 500); 17 Nov 2005 12:00:22 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 46605 invoked by uid 99); 17 Nov 2005 12:00:22 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 17 Nov 2005 04:00:22 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of trustin@gmail.com designates 64.233.184.197 as permitted sender) Received: from [64.233.184.197] (HELO wproxy.gmail.com) (64.233.184.197) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 17 Nov 2005 04:01:55 -0800 Received: by wproxy.gmail.com with SMTP id i28so377403wra for ; Thu, 17 Nov 2005 04:00:00 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=nLhRWLb5nHyO0FPhJSCcFcyRbhxZw3WKPsA2oRgUeAlwkyXKMjetoBpav1hWOVJsVxbEQScIs+lmqyvuflwIXKCZzhujslYAjQf5m8qc79ADHAIMUBZAZiFafxxIMspwB/shRlvn72VramDz1p2kRITH7HMjrRAagOKBtOLvR7g= Received: by 10.54.99.2 with SMTP id w2mr6977139wrb; Thu, 17 Nov 2005 04:00:00 -0800 (PST) Received: by 10.54.127.2 with HTTP; Thu, 17 Nov 2005 04:00:00 -0800 (PST) Message-ID: <768dcb2e0511170400v4b926198i@mail.gmail.com> Date: Thu, 17 Nov 2005 21:00:00 +0900 From: Trustin Lee To: Apache Directory Developers List Subject: Re: [jira] Commented: (DIRMINA-121) Per-port filter chain In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_32385_16510777.1132228800592" References: X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N ------=_Part_32385_16510777.1132228800592 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline 2005/11/17, Jose Alberto Fernandez : > > Ok, can someone explain to me, how can a filter propagate an event > asynchronously (I presume to all the sessions using it) without knowing > what those sessions are? How can a filter make one call in its cached > NextFilter and the message be received by ALL the sessions sharing that > chain? Request-response timeout filter is a good example. It is a filter that fires exceptionCaught() event if a response for a request message is not received for certain period. We'll have to invoke nextFilter.exceptionCaught(). Of course, nextFilter instance should be stored per session as you pointed out. But I don't think we need getNextFilter() method in IoSession; it looks weird. Trustin -- what we call human nature is actually human habit -- http://gleamynode.net/ ------=_Part_32385_16510777.1132228800592 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline 2005/11/17, Jose Alberto Fernandez <jalberto@cellectivity.com>:
Ok, can someone explain to me, how can a filter propagate an event
async= hronously (I presume to all the sessions using it) without knowing
what = those sessions are? How can a filter make one call in its cached
NextFil= ter and the message be received by ALL the sessions sharing that
chain?

Request-response timeout filter is a good e= xample.

It is a filter that fires exceptionCaught() event if a respo= nse for a request message is not received for certain period.  We'll h= ave to invoke=20 nextFilter.exceptionCaught().  Of course, nextFilter instance should b= e stored per session as you pointed out.  But I don't think we need ge= tNextFilter() method in IoSession; it looks weird.

Trust= in
--
what we call human nature is actually human habit
--
http://gleamynode.net/ ------=_Part_32385_16510777.1132228800592--