Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 75081 invoked from network); 21 Apr 2005 12:03:10 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 Apr 2005 12:03:10 -0000 Received: (qmail 82702 invoked by uid 500); 21 Apr 2005 12:03:21 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 82635 invoked by uid 500); 21 Apr 2005 12:03:21 -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 82617 invoked by uid 99); 21 Apr 2005 12:03:21 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=RCVD_BY_IP X-Spam-Check-By: apache.org Received-SPF: pass (hermes.apache.org: domain of trustin@gmail.com designates 64.233.184.201 as permitted sender) Received: from wproxy.gmail.com (HELO wproxy.gmail.com) (64.233.184.201) by apache.org (qpsmtpd/0.28) with ESMTP; Thu, 21 Apr 2005 05:03:21 -0700 Received: by wproxy.gmail.com with SMTP id 70so567051wra for ; Thu, 21 Apr 2005 05:03:06 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=ovn2nvcIH3SXjHMDreznBi10vhzd54hCwAGBmnaOQCopgU3pzsySASsAbVypSk6LfpoeLR+uqA1THdpEdTWa+CMzRmpKndduNC2Xd6hxQhs0DiTyu+PManfaonoTZxnvvLlBinEB7XuwMrdr4ZJdwLNRu+Qkl6kLtTCnOyrwRU4= Received: by 10.54.101.8 with SMTP id y8mr1352268wrb; Thu, 21 Apr 2005 05:03:06 -0700 (PDT) Received: by 10.54.70.20 with HTTP; Thu, 21 Apr 2005 05:03:06 -0700 (PDT) Message-ID: <768dcb2e0504210503a3ee74d@mail.gmail.com> Date: Thu, 21 Apr 2005 21:03:06 +0900 From: Trustin Lee Reply-To: Trustin Lee To: Apache Directory Developers List Subject: [mina] Summary of today's changes Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Hi, 1) I extracted common methods of IoSession and ProtocolSession to a new class, Session, and added BaseSession that implements Session.=20 Now most session types extend it. Session also introduces new feature: user-defined attributes. It is similar to attachment, but you can have as many attributes as you want. Attachment is redefined as a user-defined attribute whose key is "" (empty string) still retaining backward compatibility. We could also use user-defined attributes as a way to interact with filters. For example, a user could disable some filters for some sessions. But what if user wants to set default attributes? We cannot simply place setAttribute methods in sessionOpened() because the timing becomes an issue when thread pool filter is in the chain. So.... 2) SessionInitializer is introduced. You can specify your SessionInitializer implementation as a parameter of bind(...) and connect(...) methods so that SessionInitializer is invoked before MINA starts to manage the session. You could adjust default socket parameters and set up default attributes there. 3) SessionManager is a top-level interface that all acceptors and connectors implements now. For now, there are only getter and setter of exceptionManager property, but we could also add more common functionality in the future. How about getter of the number of active sessions? The change is big, but it still retains API. Any feedbacks are welcome. Thanks, Trustin --=20 what we call human nature is actually human habit -- http://gleamynode.net/