svn commit: r1221748 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java

2011-12-21 Thread bago
Author: bago Date: Wed Dec 21 14:47:25 2011 New Revision: 1221748 URL: http://svn.apache.org/viewvc?rev=1221748&view=rev Log: An attempt to refactor AbstractProtocolTransport to be thread safe. I moved back to standard synchronization as we only have max 2 threads competing for the queue so it d

Re: svn commit: r1221748 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java

2011-12-21 Thread Norman Maurer
This makes sense! Thanks for taking care. I will cut a new release now that this is fixed. I think I will call it 1.6.0-RC1 as we are really close ;) Bye, Norman -- Norman Maurer Am Mittwoch, 21. Dezember 2011 um 15:47 schrieb b...@apache.org: > Author: bago > Date: Wed Dec 21 14:47:25 2011

Re: svn commit: r1221748 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java

2011-12-24 Thread Eric Charles
Hi Stephano, Opening the discussion to learn more :) - Why are you considering that 2 threads is a criteria to use standard synchronization rather than some atomic fields. - I can understand you replace a concurrent by a non-concurrent queue. However, you now have a blocking queue. Is there

Re: svn commit: r1221748 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java

2011-12-24 Thread Norman Maurer
Hi Eric, comments inside Am 24.12.2011 um 10:05 schrieb Eric Charles : > Hi Stephano, > > Opening the discussion to learn more :) > > - Why are you considering that 2 threads is a criteria to use standard > synchronization rather than some atomic fields. > If you only have a small count

Re: svn commit: r1221748 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java

2011-12-24 Thread Stefano Bagnara
2011/12/24 Eric Charles : > Hi Stephano, > > Opening the discussion to learn more :) > > - Why are you considering that 2 threads is a criteria to use standard > synchronization rather than some atomic fields. It is a criteria to not use the ConcurrentLinkedQueue that is a structure thought to han

Re: svn commit: r1221748 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java

2011-12-24 Thread Eric Charles
Hi Norman, Thx for inputs. comment/confirmation inside. Eric On 24/12/11 11:53, Norman Maurer wrote: Hi Eric, comments inside Am 24.12.2011 um 10:05 schrieb Eric Charles: Hi Stephano, Opening the discussion to learn more :) - Why are you considering that 2 threads is a criteria to use

Re: svn commit: r1221748 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java

2011-12-24 Thread Eric Charles
Hi Stephano, Thx for the inputs. I'm fine to have volatile fields and to use them is synchronized blocks when needed, and out-of synchronized blocks when possible. I still have to find the few hours to better understand the usage and context. Maybe you can give me a hint about about the 2 us

Re: svn commit: r1221748 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java

2011-12-24 Thread Stefano Bagnara
2011/12/24 Eric Charles : > Maybe you can give me a hint about about the 2 user threads? The main thread is the one that write new "reponses". It is the protocol thread and calls the writeResponse method each time a new reponse is available. If the response is a FutureResponse then the whole thing

Re: svn commit: r1221748 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java

2011-12-24 Thread Norman Maurer
Hi Eric, Its Stefano not Stephano ;) Comments inside... Am Samstag, 24. Dezember 2011 schrieb Eric Charles : > Hi Stephano, Thx for the inputs. I'm fine to have volatile fields and to use them is synchronized blocks when needed, and out-of synchronized blocks when possible. > > I still have to f

Re: svn commit: r1221748 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java

2011-12-24 Thread Norman Maurer
Hi there, And again See inside,, Am Samstag, 24. Dezember 2011 schrieb Eric Charles : > Hi Norman, > Thx for inputs. comment/confirmation inside. > Eric > > On 24/12/11 11:53, Norman Maurer wrote: >> >> Hi Eric, >> >> comments inside >> >> Am 24.12.2011 um 10:05 schrieb Eric Charles: >> >>> H

Re: svn commit: r1221748 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java

2011-12-26 Thread Eric Charles
On 24/12/11 16:31, Norman Maurer wrote: - I can understand you replace a concurrent by a non-concurrent queue. However, you now have a blocking queue. Is there an impact due to this blocking aspect? Nope there is not as we not use the blocking methods. We could even replace it with a LinkedLi

Re: svn commit: r1221748 - /james/protocols/trunk/api/src/main/java/org/apache/james/protocols/api/AbstractProtocolTransport.java

2011-12-26 Thread Eric Charles
Sorry Stefano :) Thx Norman, I finally found the AbstractProtocolTransportTest (test source folder was not in my build path. Eric On 24/12/11 16:28, Norman Maurer wrote: Hi Eric, Its Stefano not Stephano ;) Comments inside... Am Samstag, 24. Dezember 2011 schrieb Eric Charles: Hi Stepha