Return-Path: X-Original-To: apmail-james-mime4j-dev-archive@minotaur.apache.org Delivered-To: apmail-james-mime4j-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1EF76DEE7 for ; Thu, 16 May 2013 12:21:27 +0000 (UTC) Received: (qmail 81059 invoked by uid 500); 16 May 2013 12:21:27 -0000 Delivered-To: apmail-james-mime4j-dev-archive@james.apache.org Received: (qmail 80965 invoked by uid 500); 16 May 2013 12:21:26 -0000 Mailing-List: contact mime4j-dev-help@james.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: mime4j-dev@james.apache.org Delivered-To: mailing list mime4j-dev@james.apache.org Received: (qmail 80866 invoked by uid 99); 16 May 2013 12:21:24 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 May 2013 12:21:24 +0000 X-ASF-Spam-Status: No, hits=0.0 required=5.0 tests= X-Spam-Check-By: apache.org Received-SPF: error (nike.apache.org: local policy) Received: from [217.150.250.48] (HELO kalnich.nine.ch) (217.150.250.48) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 May 2013 12:21:16 +0000 Received: from [192.168.42.181] (unknown [213.55.184.138]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by kalnich.nine.ch (Postfix) with ESMTPSA id 1149CB80159 for ; Thu, 16 May 2013 14:20:36 +0200 (CEST) Message-ID: <1368706833.15509.6.camel@ubuntu> Subject: Re: [DISCUSSION] make most of mime4j immutable From: Oleg Kalnichevski To: mime4j-dev@james.apache.org Date: Thu, 16 May 2013 14:20:33 +0200 In-Reply-To: References: <1364328785.24203.5.camel@ubuntu> <1368630670.27356.12.camel@ubuntu> <1368640741.3123.7.camel@ubuntu> <1368701677.11979.1.camel@ubuntu> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.6.4-0ubuntu1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org On Thu, 2013-05-16 at 13:41 +0200, Stefano Bagnara wrote: > 2013/5/16 Oleg Kalnichevski : > > On Thu, 2013-05-16 at 10:59 +0200, Stefano Bagnara wrote: > >> With a similar refactoring you are telling that everyone will be moved > >> to a "all in memory parsing" unless they add support for storage > >> manager in their applications/libraries. > > > > This is the default mode already. > > I know this, but a new release could have included a "fallback to > filesystem over 100KB" strategy by default and the current users > wouldn't need to change a thing. > But maybe we won't ever do a similar thing by default, so you're > convincing me ;-) > The reason why we ought not do it by default is to ensure the user is aware of implications of having content overflowing to a temporary persistent storage potentially accessible by other users, processes, etc. > > That would not need to change. Lazy parsing would not need to go away. > > I don't get how you do both immutable and lazy, but if we can keep > lazy parsing then my main argument goes away and I'm happy to follow > your changes! > A volatile flag may need to get flipped but as far as the consumer is concerned the object remains in _exactly_ the same state as before. > > I suggested you should proceed with the changes you proposed: as I > already wrote I trust your skills and from your answers I see we share > the goals (keep lazy parsing, let people use dom api to build > messages), so there's no reason I should stop you from improving > mime4j! :-) > > And just to be sure the are no misunderstanding: in my opinion you can > simply continue to work in SVN even without answering this message! > Code is the best answer, sometimes, and I'm sorry I submit too few > code and too much mailing list posts ;-) Power to active committers! I'll be on vacation next week and likely to get sucked in by HC related stuff afterwards. We'll see where we stand in a few months. Oleg