Hi Matt,
Changes based on your feedback have been applied to the repository (a
take on option 2 below).
Please follow up here if you have additional feedback.
Thanks for keeping an eye on this.
-rl
On 1/4/11 7:06 AM, Matthew Swift wrote:
> +1 from me FWIW. I'm not sure I see the value of the reflection based
> approach.
>
> Generic property based configuration results in a high degree of
> abstract and flexibility at the cost of usability and type safety.
> With properties, the app developer has to search high and low on the
> web in order to find the correct combination of properties to use for
> their implementation, and even then they are not sure if the options
> they have provided contain valid values or if they are even being
> ignored (e.g. typo in the property name). Anyone who has used JNDI or
> SASL in Java will have hit this hurdle already.
>
> At least with a reflection based approach the user will know if they
> have mispelled an option name, but I'm not sure that the error they
> get back will be very helpful. :-)
>
> One issue with method chaining you may come across is that the common
> setters (e.g. setIOStrategy) lose type information: they return an
> NIOTransportBuilder and not the sub-type (e.g.
> TCPNIOTransportBuilder). This means that an application will not be
> able to do this:
>
> TCPNIOTransportBuilder.newInstance().setIOStrategy(...).setTCPNoDelay(true).build();
>
> Since setTCPNoDelay() does not exist for generic NIOTransportBuilders.
>
> Nor will this work:
>
> TCPNIOTransport t =
> TCPNIOTransportBuilder.newInstance().setTCPNoDelay(true).setIOStrategy(...).build();
>
> Since the setIOStrategy() will lose the type information causing the
> build to return an NIOTransport.
>
> There are two possible solutions AFAIK:
>
> 1. Make all the chaining setters abstract in NIOTransportBuilder
> and define them all in their sub-classes. This results in lots
> of duplicated setter implementations (except for the return
> type) in the sub-classes.
>
> 2. Use generics to force the return type:
>
> public abstract class NIOTransportBuilder<T extends
> NIOTransportBuilder> {
>
> public final T setIOStrategy(IOStrategy strategy) {
> this.strategy = strategy;
> return getThis();
> }
>
> @SuppressWarnings("unchecked")
> protected T getThis() { return (T) this; }
> }
>
> public class TCPNIOTransportBuilder<T extends
> TCPNIOTransportBuilder>
> extends NIOTransportBuilder<T> {
>
> public final T setTCPNoDelay(boolean tcpNoDelay) {
> this.tcpNoDelay = tcpNoDelay;
> return getThis();
> }
>
> }
>
> // 3rd party derived sub-class.
> public class MyAppTCPNIOTransportBuilder extends
> TCPNIOTransportBuilder<MyAppTCPNIOTransportBuilder> {
>
> }
>
> Neither are ideal. The second works but looks a bit ugly with the
> generics and exposes the generics in the Javadoc. In the past I have
> used a combination of both approaches, but this may be a bit overkill
> here. There's probably a clever design pattern somewhere that covers
> this, but I have not come across it. :-)
>
> Matt
>
> On 04/01/11 15:12, Justin Lee wrote:
>> I'm not sure introducing a reflection based API is the best idea. If
>> we're already returning covariant subclasses, I don't see much need
>> for a generalized reflection based approach. Any subclass returned
>> will already expose the methods it needs to be configured.
>> Reflection makes refactoring so much more difficult. I've been
>> working so hard to get rid of what I can from the grizzly config and
>> glassfish classes. Please don't introduce more. :)
>>
>> On 1/4/11 8:19 AM, Oleksiy Stashok wrote:
>>> Hi Matt,
>>>
>>> it was an initial implementation from Ryan and it was commited
>>> exactly to get a feedback, so I'm glad you follow this! :))
>>>
>>>
>>>> While I can create a NIOTransportBuilder which can be used to
>>>> construct new TCP NIO transports, I am unable to fully configure
>>>> them as far as I can see. For example, I can configure things like
>>>> the strategy and the thread pool configuration, but I am not able
>>>> to configure features like keep alive, TCP no delay, etc. It
>>>> would be nice to be able to be able to do this.
>>>>
>>>> Obviously these are transport protocol specific (UDP, TCP), which
>>>> brings me onto the next point (albeit minor): the build method
>>>> loses type information forcing application to have to do stuff like
>>>> this:
>>>> final TCPNIOTransport transport =
>>>> (TCPNIOTransport)
>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>> Yesterday Ryan and me were discussing approach like:
>>>
>>> final TCPNIOTransport transport =
>>> NIOTransportBuilder.newInstance(TCPNIOTransport.class).setXXX()....build();
>>>
>>> which lets us avoid casting and make builder implementation
>>> pluggable for custom transports.
>>> To set custom transport attributes like "tcp no delay", we can use
>>> general setAttribute(name, value) method, which will work using
>>> reflections like:
>>>
>>> NIOTransportBuilder.newInstance(TCPNIOTransport.class).setAttribute("tcpNoDelay",
>>> true).build();
>>>
>>> And giving your idea...
>>>
>>>> Therefore, could you consider providing a class hierarchy
>>>> (NIOTransportBuilder, TCPNIOTransportBuilder,
>>>> UDPNIOTransportBuilder) using a covariant return type for the
>>>> build() method? The sub-classes could provide protocol specific
>>>> setters for things like TCP no delay, etc. For example:
>>>> public abstract class NIOTransportBuilder {
>>>>
>>>> // Override and use covariance.
>>>> public abstract NIOTransport build();
>>>>
>>>> // Getters/setters common to both TCP and UDP.
>>>> public NIOTransportBuilder setIOStrategy(IOStrategy strategy) {
>>>> ... }
>>>>
>>>> ...
>>>> }
>>>>
>>>> public class TCPNIOTransportBuilder extends NIOTransportBuilder {
>>>>
>>>> // Use covariance.
>>>> public TCPNIOTransport build() { ... }
>>>>
>>>> // Getters/setters specific to TCP.
>>>> public TCPNIOTransportBuilder setTcpNoDelay(final boolean
>>>> tcpNoDelay) { ... }
>>>>
>>>> ...
>>>> }
>>> We can support both options.
>>>
>>> General:
>>> NIOTransportBuilder.newInstance(TCPNIOTransport.class).setAttribute("tcpNoDelay",
>>> true).build();
>>>
>>> Specific:
>>> TCPNIOTransportBuilder.newInstance().setTcpNoDelay(true);
>>>
>>>
>>> we can also consider to refactor this to:
>>>
>>> General:
>>> NIOTransport.builder(TCPNIOTransport.class).setAttribute("tcpNoDelay",
>>> true).build();
>>>
>>> Specific:
>>> TCPNIOTransport.builder().setTcpNoDelay(true);
>>>
>>>> This will allow transport configuration to be fully decoupled from
>>>> instantiation which I think is important if instantiation is
>>>> performed within a library out of reach from the application code.
>>>>
>>>> Does this make sense?
>>> Sure :)
>>>
>>> WBR,
>>> Alexey.
>>>
>>>>
>>>> Matt
>>>>
>>>>
>>>>
>>>> On 03/01/11 23:58, rlubke_at_java.net wrote:
>>>>>
>>>>> Project: grizzly
>>>>> Repository: svn
>>>>> Revision: 5606
>>>>> Author: rlubke
>>>>> Date: 2011-01-03 22:58:01 UTC
>>>>> Link:
>>>>>
>>>>> Log Message:
>>>>> ------------
>>>>> - remove TransportFactory in favor of leveraging the builder
>>>>> pattern (NIOTransportBuilder) instead.
>>>>> * removed the concept of a global thread pool that was
>>>>> maintained by the
>>>>> TransportFactory.
>>>>> * Each transport will now have it's own pool for
>>>>> SelectorRunners only and,
>>>>> depending on the IOStrategy being used, a separate pool for
>>>>> worker threads.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Revisions:
>>>>> ----------
>>>>> 5606
>>>>>
>>>>>
>>>>> Modified Paths:
>>>>> ---------------
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/ssl/SSLEncoderTransformer.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/AbstractTransport.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/strategies/WorkerThreadIOStrategy.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/memory/Buffers.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/nio/SelectorRunner.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/StandaloneTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/IdleConnectionFilterTest.java
>>>>>
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/HttpResponseStreamsTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/nio/NIOTransport.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/memory/MemoryUtils.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/SSLTest.java
>>>>>
>>>>> branches/2dot0/code/modules/websockets/src/main/java/org/glassfish/grizzly/websockets/frame/FixedLengthFrame.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/UDPNIOTransportTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/threadpool/GrizzlyExecutorService.java
>>>>>
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpRequestParseTest.java
>>>>>
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/KeepAliveTest.java
>>>>>
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/SkipRemainderTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/ssl/SSLDecoderTransformer.java
>>>>>
>>>>> branches/2dot0/code/modules/websockets/src/main/java/org/glassfish/grizzly/websockets/SecKey.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/nio/transport/UDPNIOTransport.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/Transport.java
>>>>>
>>>>> branches/2dot0/code/modules/config/src/main/java/org/glassfish/grizzly/config/GenericGrizzlyListener.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/CompositeBufferTest.java
>>>>>
>>>>> branches/2dot0/code/modules/rcm/src/test/java/org/glassfish/grizzly/rcm/RCMTest.java
>>>>>
>>>>> branches/2dot0/code/modules/websockets/src/test/java/org/glassfish/grizzly/websockets/WebSocketsHandshakeTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/ByteBufferStreamsTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/zip/GZipEncoder.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/AbstractTransformer.java
>>>>>
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpResponseParseTest.java
>>>>>
>>>>> branches/2dot0/code/modules/websockets/src/test/java/org/glassfish/grizzly/websockets/WSCommTest.java
>>>>>
>>>>> branches/2dot0/code/modules/http/src/main/java/org/glassfish/grizzly/http/Cookie.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/ProtocolChainCodecTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/strategies/SameThreadIOStrategy.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/BuffersBufferTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/TCPNIOTransportTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/GZipTest.java
>>>>>
>>>>> branches/2dot0/code/modules/websockets/src/main/java/org/glassfish/grizzly/websockets/frame/StreamFrame.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/JmxBasicTest.java
>>>>>
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/URIDecoderTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/CompositeBufferInStreamTest.java
>>>>>
>>>>> branches/2dot0/code/modules/portunif/src/test/java/org/glassfish/grizzly/portunif/BasicPUTest.java
>>>>>
>>>>> branches/2dot0/code/modules/http-server/src/main/java/org/glassfish/grizzly/http/server/HttpServer.java
>>>>>
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/NIOInputSourcesTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/nio/transport/TCPNIOTransport.java
>>>>>
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpCommTest.java
>>>>>
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/HttpInputStreamsTest.java
>>>>>
>>>>> branches/2dot0/code/modules/http-server/src/main/java/org/glassfish/grizzly/http/server/NetworkListener.java
>>>>>
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/NIOOutputSinksTest.java
>>>>>
>>>>> branches/2dot0/code/modules/websockets/src/test/java/org/glassfish/grizzly/websockets/WSSCommTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/memory/BuffersBuffer.java
>>>>>
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/ContentTest.java
>>>>>
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/GZipEncodingTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/FilterChainTest.java
>>>>>
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpSemanticsTest.java
>>>>>
>>>>> branches/2dot0/code/modules/portunif/src/test/java/org/glassfish/grizzly/portunif/SSLAndPlainTest.java
>>>>>
>>>>> branches/2dot0/code/modules/config/src/main/java/org/glassfish/grizzly/config/GrizzlyConfig.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/AsyncWriteQueueTest.java
>>>>>
>>>>> branches/2dot0/code/modules/grizzly/src/test/java/org/glassfish/grizzly/FilterChainReadTest.java
>>>>>
>>>>>
>>>>>
>>>>> Added Paths:
>>>>> ------------
>>>>> branches/2dot0/code/modules/grizzly/src/main/java/org/glassfish/grizzly/NIOTransportBuilder.java
>>>>>
>>>>>
>>>>>
>>>>> Diffs:
>>>>> ------
>>>>> Index:
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/GZipEncodingTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/GZipEncodingTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/GZipEncodingTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -43,7 +43,7 @@
>>>>> import org.glassfish.grizzly.Buffer;
>>>>> import org.glassfish.grizzly.Connection;
>>>>> import org.glassfish.grizzly.Grizzly;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChain;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainBuilder;
>>>>> @@ -120,14 +120,14 @@
>>>>> result.setStatusCode(200);
>>>>> result.addHeader("content-encoding", "gzip");
>>>>>
>>>>> - final MemoryManager mm =
>>>>> TransportFactory.getInstance().getDefaultMemoryManager();
>>>>> + final MemoryManager mm =
>>>>> NIOTransportBuilder.DEFAULT_MEMORY_MANAGER;
>>>>> result.setContent(Buffers.wrap(mm, "Echo: <nothing>"));
>>>>> doTest(request, result, gzipServerContentEncoding, null);
>>>>> }
>>>>>
>>>>>
>>>>> public void testGZipRequest() throws Throwable {
>>>>> - final MemoryManager mm =
>>>>> TransportFactory.getInstance().getDefaultMemoryManager();
>>>>> + final MemoryManager mm =
>>>>> NIOTransportBuilder.DEFAULT_MEMORY_MANAGER;
>>>>>
>>>>> String reqString = "GZipped hello. Works?";
>>>>> ByteArrayOutputStream baos = new ByteArrayOutputStream();
>>>>> @@ -176,7 +176,7 @@
>>>>> }
>>>>> });
>>>>>
>>>>> - final MemoryManager mm =
>>>>> TransportFactory.getInstance().getDefaultMemoryManager();
>>>>> + final MemoryManager mm =
>>>>> NIOTransportBuilder.DEFAULT_MEMORY_MANAGER;
>>>>>
>>>>> String reqString = generateBigString(16384);
>>>>> ByteArrayOutputStream baos = new ByteArrayOutputStream();
>>>>> @@ -225,7 +225,7 @@
>>>>> }
>>>>> });
>>>>>
>>>>> - final MemoryManager mm =
>>>>> TransportFactory.getInstance().getDefaultMemoryManager();
>>>>> + final MemoryManager mm =
>>>>> NIOTransportBuilder.DEFAULT_MEMORY_MANAGER;
>>>>>
>>>>> String reqString = generateBigString(16384);
>>>>> ByteArrayOutputStream baos = new ByteArrayOutputStream();
>>>>> @@ -288,10 +288,10 @@
>>>>> filterChainBuilder.add(new SimpleResponseFilter());
>>>>> FilterChain filterChain = filterChainBuilder.build();
>>>>>
>>>>> - TCPNIOTransport transport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + TCPNIOTransport transport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> transport.setProcessor(filterChain);
>>>>>
>>>>> - TCPNIOTransport ctransport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + TCPNIOTransport ctransport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> try {
>>>>> transport.bind(PORT);
>>>>> transport.start();
>>>>> @@ -327,7 +327,6 @@
>>>>> } finally {
>>>>> transport.stop();
>>>>> ctransport.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> reportThreadErrors();
>>>>> }
>>>>> }
>>>>> Index:
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpRequestParseTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpRequestParseTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpRequestParseTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -40,6 +40,7 @@
>>>>>
>>>>> package org.glassfish.grizzly.http.core;
>>>>>
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.http.HttpPacket;
>>>>> import org.glassfish.grizzly.http.HttpContent;
>>>>> import org.glassfish.grizzly.http.HttpRequestPacket;
>>>>> @@ -47,7 +48,6 @@
>>>>> import org.glassfish.grizzly.Connection;
>>>>> import org.glassfish.grizzly.Grizzly;
>>>>> import org.glassfish.grizzly.StandaloneProcessor;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainBuilder;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainContext;
>>>>> @@ -165,7 +165,7 @@
>>>>> @SuppressWarnings({"unchecked"})
>>>>> private HttpPacket doTestDecoder(String request, int limit) {
>>>>>
>>>>> - MemoryManager mm =
>>>>> TransportFactory.getInstance().getDefaultMemoryManager();
>>>>> + MemoryManager mm =
>>>>> NIOTransportBuilder.DEFAULT_MEMORY_MANAGER;
>>>>> Buffer input = Buffers.wrap(mm, request);
>>>>>
>>>>> HttpServerFilter filter = new HttpServerFilter(true,
>>>>> limit, null, null);
>>>>> @@ -196,7 +196,7 @@
>>>>> filterChainBuilder.add(new
>>>>> HTTPRequestCheckFilter(parseResult,
>>>>> method, requestURI, protocol,
>>>>> Collections.<String, Pair<String, String>>emptyMap()));
>>>>>
>>>>> - TCPNIOTransport transport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + TCPNIOTransport transport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> transport.setProcessor(filterChainBuilder.build());
>>>>>
>>>>> try {
>>>>> @@ -235,7 +235,6 @@
>>>>> }
>>>>>
>>>>> transport.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>> }
>>>>>
>>>>> @@ -287,7 +286,7 @@
>>>>> private final SocketAddress peerAddress;
>>>>>
>>>>> public StandaloneConnection() {
>>>>> -
>>>>> super(TransportFactory.getInstance().createTCPTransport());
>>>>> +
>>>>> super(NIOTransportBuilder.defaultTCPTransportBuilder().build());
>>>>> localAddress = new InetSocketAddress("127.0.0.1", 0);
>>>>> peerAddress = new InetSocketAddress("127.0.0.1", 0);
>>>>> }
>>>>> Index:
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/URIDecoderTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/URIDecoderTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/URIDecoderTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -40,10 +40,10 @@
>>>>>
>>>>> package org.glassfish.grizzly.http.core;
>>>>>
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.http.util.URLDecoder;
>>>>> import org.glassfish.grizzly.http.util.DataChunk;
>>>>> import org.glassfish.grizzly.Buffer;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.memory.MemoryManager;
>>>>> import java.net.URLEncoder;
>>>>> import java.nio.charset.Charset;
>>>>> @@ -75,7 +75,7 @@
>>>>> @SuppressWarnings({"unchecked"})
>>>>> private void testDecoder(String inputURI) throws Exception {
>>>>>
>>>>> - MemoryManager mm =
>>>>> TransportFactory.getInstance().getDefaultMemoryManager();
>>>>> + MemoryManager mm =
>>>>> NIOTransportBuilder.DEFAULT_MEMORY_MANAGER;
>>>>> String encodedURI = URLEncoder.encode(inputURI,
>>>>> UTF8_CHARSET.name());
>>>>>
>>>>> Buffer b = Buffers.wrap(mm, encodedURI);
>>>>> Index:
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpSemanticsTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpSemanticsTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpSemanticsTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -43,7 +43,7 @@
>>>>> import org.glassfish.grizzly.Connection;
>>>>> import org.glassfish.grizzly.EmptyCompletionHandler;
>>>>> import org.glassfish.grizzly.Grizzly;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.WriteResult;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> import org.glassfish.grizzly.filterchain.Filter;
>>>>> @@ -287,9 +287,9 @@
>>>>> filterChainBuilder.add(serverFilter);
>>>>> FilterChain filterChain = filterChainBuilder.build();
>>>>>
>>>>> - TCPNIOTransport transport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + TCPNIOTransport transport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> transport.setProcessor(filterChain);
>>>>> - TCPNIOTransport ctransport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + TCPNIOTransport ctransport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> try {
>>>>> transport.bind(PORT);
>>>>> transport.start();
>>>>> @@ -319,7 +319,6 @@
>>>>> } finally {
>>>>> transport.stop();
>>>>> ctransport.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> reportThreadErrors();
>>>>> }
>>>>> }
>>>>> Index:
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpResponseParseTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpResponseParseTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpResponseParseTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -40,6 +40,7 @@
>>>>>
>>>>> package org.glassfish.grizzly.http.core;
>>>>>
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.http.HttpPacket;
>>>>> import org.glassfish.grizzly.http.HttpContent;
>>>>> import org.glassfish.grizzly.http.HttpResponsePacket;
>>>>> @@ -47,7 +48,6 @@
>>>>> import org.glassfish.grizzly.Connection;
>>>>> import org.glassfish.grizzly.Grizzly;
>>>>> import org.glassfish.grizzly.StandaloneProcessor;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainBuilder;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainContext;
>>>>> @@ -166,7 +166,7 @@
>>>>> @SuppressWarnings({"unchecked"})
>>>>> private HttpPacket doTestDecoder(String response, int limit) {
>>>>>
>>>>> - MemoryManager mm =
>>>>> TransportFactory.getInstance().getDefaultMemoryManager();
>>>>> + MemoryManager mm =
>>>>> NIOTransportBuilder.DEFAULT_MEMORY_MANAGER;
>>>>> Buffer input = Buffers.wrap(mm, response);
>>>>>
>>>>> HttpClientFilter filter = new HttpClientFilter(limit);
>>>>> @@ -197,7 +197,7 @@
>>>>> filterChainBuilder.add(new
>>>>> HTTPResponseCheckFilter(parseResult,
>>>>> protocol, code, phrase, Collections.<String,
>>>>> Pair<String, String>>emptyMap()));
>>>>>
>>>>> - TCPNIOTransport transport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + TCPNIOTransport transport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> transport.setProcessor(filterChainBuilder.build());
>>>>>
>>>>> try {
>>>>> @@ -237,7 +237,6 @@
>>>>> }
>>>>>
>>>>> transport.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>> }
>>>>>
>>>>> @@ -285,7 +284,7 @@
>>>>>
>>>>> protected static final class StandaloneConnection extends
>>>>> NIOConnection {
>>>>> public StandaloneConnection() {
>>>>> -
>>>>> super(TransportFactory.getInstance().createTCPTransport());
>>>>> +
>>>>> super(NIOTransportBuilder.defaultTCPTransportBuilder().build());
>>>>> }
>>>>>
>>>>> @Override
>>>>> Index:
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/ContentTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/ContentTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/ContentTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -40,9 +40,9 @@
>>>>>
>>>>> package org.glassfish.grizzly.http.core;
>>>>>
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.http.HttpRequestPacket;
>>>>> import org.glassfish.grizzly.Connection;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.WriteResult;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChain;
>>>>> @@ -82,7 +82,7 @@
>>>>> public void testExplicitContentLength() throws Exception {
>>>>> HttpRequestPacket httpRequest =
>>>>> HttpRequestPacket.builder().method("POST").protocol(Protocol.HTTP_1_1).uri("/default").contentLength(10).build();
>>>>> httpRequest.addHeader("Host", "localhost:" + PORT);
>>>>> - HttpContent content =
>>>>> httpRequest.httpContentBuilder().content(Buffers.wrap(TransportFactory.getInstance().getDefaultMemoryManager(),
>>>>> "1234567890")).build();
>>>>> + HttpContent content =
>>>>> httpRequest.httpContentBuilder().content(Buffers.wrap(NIOTransportBuilder.DEFAULT_MEMORY_MANAGER,
>>>>> "1234567890")).build();
>>>>>
>>>>> doHttpRequestTest(content);
>>>>> }
>>>>> @@ -91,7 +91,7 @@
>>>>> public void testHeaderContentLength() throws Exception {
>>>>> HttpRequestPacket httpRequest =
>>>>> HttpRequestPacket.builder().method("POST").protocol(Protocol.HTTP_1_1).uri("/default").header("Content-Length",
>>>>> "10").build();
>>>>> httpRequest.addHeader("Host", "localhost:" + PORT);
>>>>> - HttpContent content =
>>>>> httpRequest.httpContentBuilder().content(Buffers.wrap(TransportFactory.getInstance().getDefaultMemoryManager(),
>>>>> "1234567890")).build();
>>>>> + HttpContent content =
>>>>> httpRequest.httpContentBuilder().content(Buffers.wrap(NIOTransportBuilder.DEFAULT_MEMORY_MANAGER,
>>>>> "1234567890")).build();
>>>>>
>>>>> doHttpRequestTest(content);
>>>>> }
>>>>> @@ -100,7 +100,7 @@
>>>>> public void testSimpleChunked() throws Exception {
>>>>> HttpRequestPacket httpRequest =
>>>>> HttpRequestPacket.builder().method("POST").protocol(Protocol.HTTP_1_1).uri("/default").chunked(true).build();
>>>>> httpRequest.addHeader("Host", "localhost:" + PORT);
>>>>> - HttpContent content =
>>>>> httpRequest.httpTrailerBuilder().content(Buffers.wrap(TransportFactory.getInstance().getDefaultMemoryManager(),
>>>>> "1234567890")).build();
>>>>> + HttpContent content =
>>>>> httpRequest.httpTrailerBuilder().content(Buffers.wrap(NIOTransportBuilder.DEFAULT_MEMORY_MANAGER,
>>>>> "1234567890")).build();
>>>>>
>>>>> doHttpRequestTest(content);
>>>>> }
>>>>> @@ -109,9 +109,9 @@
>>>>> public void testSeveralChunked() throws Exception {
>>>>> HttpRequestPacket httpRequest =
>>>>> HttpRequestPacket.builder().method("POST").protocol(Protocol.HTTP_1_1).uri("/default").chunked(true).build();
>>>>> httpRequest.addHeader("Host", "localhost:" + PORT);
>>>>> - HttpContent content1 =
>>>>> httpRequest.httpContentBuilder().content(Buffers.wrap(TransportFactory.getInstance().getDefaultMemoryManager(),
>>>>> "1234567890")).build();
>>>>> - HttpContent content2 =
>>>>> httpRequest.httpContentBuilder().content(Buffers.wrap(TransportFactory.getInstance().getDefaultMemoryManager(),
>>>>> "0987654321")).build();
>>>>> - HttpContent content3 =
>>>>> httpRequest.httpTrailerBuilder().content(Buffers.wrap(TransportFactory.getInstance().getDefaultMemoryManager(),
>>>>> "final")).build();
>>>>> + HttpContent content1 =
>>>>> httpRequest.httpContentBuilder().content(Buffers.wrap(NIOTransportBuilder.DEFAULT_MEMORY_MANAGER,
>>>>> "1234567890")).build();
>>>>> + HttpContent content2 =
>>>>> httpRequest.httpContentBuilder().content(Buffers.wrap(NIOTransportBuilder.DEFAULT_MEMORY_MANAGER,
>>>>> "0987654321")).build();
>>>>> + HttpContent content3 =
>>>>> httpRequest.httpTrailerBuilder().content(Buffers.wrap(NIOTransportBuilder.DEFAULT_MEMORY_MANAGER,
>>>>> "final")).build();
>>>>>
>>>>> doHttpRequestTest(content1, content2, content3);
>>>>> }
>>>>> @@ -130,7 +130,7 @@
>>>>> filterChainBuilder.add(new
>>>>> HTTPRequestMergerFilter(parseResult));
>>>>> FilterChain filterChain = filterChainBuilder.build();
>>>>>
>>>>> - TCPNIOTransport transport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + TCPNIOTransport transport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> transport.setProcessor(filterChain);
>>>>>
>>>>> try {
>>>>> @@ -179,7 +179,6 @@
>>>>> }
>>>>>
>>>>> transport.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>> }
>>>>>
>>>>> Index:
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpCommTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpCommTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http/src/test/java/org/glassfish/grizzly/http/core/HttpCommTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -40,13 +40,13 @@
>>>>>
>>>>> package org.glassfish.grizzly.http.core;
>>>>>
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.http.HttpClientFilter;
>>>>> import org.glassfish.grizzly.http.HttpContent;
>>>>> import org.glassfish.grizzly.http.HttpPacket;
>>>>> import org.glassfish.grizzly.http.HttpRequestPacket;
>>>>> import org.glassfish.grizzly.Connection;
>>>>> import org.glassfish.grizzly.Grizzly;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.WriteResult;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChain;
>>>>> @@ -91,7 +91,7 @@
>>>>> serverFilterChainBuilder.add(new HttpServerFilter());
>>>>> serverFilterChainBuilder.add(new DummyServerFilter());
>>>>>
>>>>> - TCPNIOTransport transport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + TCPNIOTransport transport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> transport.setProcessor(serverFilterChainBuilder.build());
>>>>>
>>>>> Connection connection = null;
>>>>> @@ -142,7 +142,6 @@
>>>>> }
>>>>>
>>>>> transport.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>> }
>>>>>
>>>>> Index:
>>>>> branches/2dot0/code/modules/http/src/main/java/org/glassfish/grizzly/http/Cookie.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http/src/main/java/org/glassfish/grizzly/http/Cookie.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http/src/main/java/org/glassfish/grizzly/http/Cookie.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -59,7 +59,7 @@
>>>>> package org.glassfish.grizzly.http;
>>>>>
>>>>> import org.glassfish.grizzly.Buffer;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.http.util.CookieSerializerUtils;
>>>>> import org.glassfish.grizzly.memory.MemoryManager;
>>>>>
>>>>> @@ -547,7 +547,7 @@
>>>>>
>>>>> public Buffer asServerCookieBuffer(MemoryManager
>>>>> memoryManager) {
>>>>> if (memoryManager == null) memoryManager =
>>>>> -
>>>>> TransportFactory.getInstance().getDefaultMemoryManager();
>>>>> + NIOTransportBuilder.DEFAULT_MEMORY_MANAGER;
>>>>>
>>>>> final Buffer buffer = memoryManager.allocate(4096);
>>>>> CookieSerializerUtils.serializeServerCookie(buffer, this);
>>>>> @@ -568,7 +568,7 @@
>>>>>
>>>>> public Buffer asClientCookieBuffer(MemoryManager
>>>>> memoryManager) {
>>>>> if (memoryManager == null) memoryManager =
>>>>> -
>>>>> TransportFactory.getInstance().getDefaultMemoryManager();
>>>>> + NIOTransportBuilder.DEFAULT_MEMORY_MANAGER;
>>>>>
>>>>> final Buffer buffer = memoryManager.allocate(4096);
>>>>> CookieSerializerUtils.serializeClientCookies(buffer, this);
>>>>> Index:
>>>>> branches/2dot0/code/modules/rcm/src/test/java/org/glassfish/grizzly/rcm/RCMTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/rcm/src/test/java/org/glassfish/grizzly/rcm/RCMTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/rcm/src/test/java/org/glassfish/grizzly/rcm/RCMTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2007-2010 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> + * Copyright (c) 2007-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -42,6 +42,8 @@
>>>>> import org.glassfish.grizzly.Buffer;
>>>>> import org.glassfish.grizzly.Connection;
>>>>> import java.io.IOException;
>>>>> +
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainContext;
>>>>> import org.glassfish.grizzly.filterchain.NextAction;
>>>>> import java.io.BufferedReader;
>>>>> @@ -55,7 +57,6 @@
>>>>> import java.nio.charset.CharsetEncoder;
>>>>> import java.util.Date;
>>>>> import junit.framework.TestCase;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainBuilder;
>>>>> import org.glassfish.grizzly.filterchain.TransportFilter;
>>>>> @@ -144,7 +145,7 @@
>>>>> }
>>>>> });
>>>>>
>>>>> - transport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + transport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> transport.setProcessor(filterChainBuilder.build());
>>>>>
>>>>> transport.bind(port);
>>>>> @@ -157,7 +158,6 @@
>>>>> @Override
>>>>> protected void tearDown() throws Exception {
>>>>> transport.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>>
>>>>> public void testRCM() {
>>>>> Index:
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/KeepAliveTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/KeepAliveTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/KeepAliveTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -43,8 +43,8 @@
>>>>> import org.glassfish.grizzly.Buffer;
>>>>> import org.glassfish.grizzly.Connection;
>>>>> import org.glassfish.grizzly.EmptyCompletionHandler;
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.SocketConnectorHandler;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainBuilder;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainContext;
>>>>> @@ -90,7 +90,7 @@
>>>>>
>>>>> }, "/path");
>>>>>
>>>>> - final TCPNIOTransport clientTransport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + final TCPNIOTransport clientTransport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> final HttpClient client = new HttpClient(clientTransport);
>>>>>
>>>>> try {
>>>>> @@ -123,7 +123,6 @@
>>>>> client.close();
>>>>> clientTransport.stop();
>>>>> server.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>> }
>>>>>
>>>>> @@ -142,7 +141,7 @@
>>>>>
>>>>> }, "/path");
>>>>>
>>>>> - final TCPNIOTransport clientTransport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + final TCPNIOTransport clientTransport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> final HttpClient client = new HttpClient(clientTransport);
>>>>>
>>>>> try {
>>>>> @@ -186,7 +185,6 @@
>>>>> client.close();
>>>>> clientTransport.stop();
>>>>> server.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>> }
>>>>>
>>>>> @@ -208,7 +206,7 @@
>>>>> }, "/path");
>>>>>
>>>>> server.getListener("grizzly").getKeepAlive().setMaxRequestsCount(maxKeepAliveRequests);
>>>>>
>>>>> - final TCPNIOTransport clientTransport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + final TCPNIOTransport clientTransport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> final HttpClient client = new HttpClient(clientTransport);
>>>>>
>>>>> try {
>>>>> @@ -253,7 +251,6 @@
>>>>> client.close();
>>>>> clientTransport.stop();
>>>>> server.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>> }
>>>>>
>>>>> Index:
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/NIOInputSourcesTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/NIOInputSourcesTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/NIOInputSourcesTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -43,7 +43,7 @@
>>>>> import org.glassfish.grizzly.Buffer;
>>>>> import org.glassfish.grizzly.Connection;
>>>>> import org.glassfish.grizzly.Grizzly;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainBuilder;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainContext;
>>>>> @@ -398,7 +398,7 @@
>>>>> throws Exception {
>>>>>
>>>>> final TCPNIOTransport clientTransport =
>>>>> - TransportFactory.getInstance().createTCPTransport();
>>>>> + (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> final HttpServer server = createWebServer(httpHandler);
>>>>> try {
>>>>> server.start();
>>>>> @@ -463,7 +463,7 @@
>>>>>
>>>>> if (content != null) {
>>>>> HttpContent.Builder cb = request.httpContentBuilder();
>>>>> - MemoryManager mm =
>>>>> TransportFactory.getInstance().getDefaultMemoryManager();
>>>>> + MemoryManager mm =
>>>>> NIOTransportBuilder.DEFAULT_MEMORY_MANAGER;
>>>>> Buffer contentBuffer;
>>>>> if (encoding != null) {
>>>>> try {
>>>>> Index:
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/HttpResponseStreamsTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/HttpResponseStreamsTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/HttpResponseStreamsTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -43,7 +43,7 @@
>>>>> import org.glassfish.grizzly.Buffer;
>>>>> import org.glassfish.grizzly.Connection;
>>>>> import org.glassfish.grizzly.Grizzly;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainBuilder;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainContext;
>>>>> @@ -571,7 +571,7 @@
>>>>> sconfig.addHttpHandler(new TestHttpHandler(strategy), new
>>>>> String[] { "/*" });
>>>>>
>>>>> final FutureImpl<String> parseResult =
>>>>> SafeFutureImpl.create();
>>>>> - TCPNIOTransport ctransport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + TCPNIOTransport ctransport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> try {
>>>>> server.start();
>>>>>
>>>>> @@ -601,7 +601,6 @@
>>>>> } finally {
>>>>> server.stop();
>>>>> ctransport.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>> }
>>>>>
>>>>> Index:
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/SkipRemainderTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/SkipRemainderTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/SkipRemainderTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -40,11 +40,11 @@
>>>>>
>>>>> package org.glassfish.grizzly.http.server;
>>>>>
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.memory.Buffers;
>>>>> import org.glassfish.grizzly.Buffer;
>>>>> import org.glassfish.grizzly.Connection;
>>>>> import org.glassfish.grizzly.SocketConnectorHandler;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainBuilder;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainContext;
>>>>> @@ -155,7 +155,7 @@
>>>>> final LinkedTransferQueue<Integer> transferQueue)
>>>>> throws Exception, InterruptedException {
>>>>>
>>>>> - final MemoryManager mm =
>>>>> TransportFactory.getInstance().getDefaultMemoryManager();
>>>>> + final MemoryManager mm =
>>>>> NIOTransportBuilder.DEFAULT_MEMORY_MANAGER;
>>>>>
>>>>> final int contentSizeHalf = content.length / 2;
>>>>>
>>>>> Index:
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/HttpInputStreamsTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/HttpInputStreamsTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/HttpInputStreamsTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -43,7 +43,7 @@
>>>>> import org.glassfish.grizzly.Buffer;
>>>>> import org.glassfish.grizzly.Connection;
>>>>> import org.glassfish.grizzly.Grizzly;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> import org.glassfish.grizzly.filterchain.Filter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainBuilder;
>>>>> @@ -934,7 +934,7 @@
>>>>> @SuppressWarnings({"unchecked"})
>>>>> private HttpPacket createRequest(final String method, final
>>>>> String content) {
>>>>> final Buffer contentBuffer = content != null ?
>>>>> -
>>>>> Buffers.wrap(TransportFactory.getInstance().getDefaultMemoryManager(),
>>>>> content) :
>>>>> +
>>>>> Buffers.wrap(NIOTransportBuilder.DEFAULT_MEMORY_MANAGER, content) :
>>>>> null;
>>>>>
>>>>> HttpRequestPacket.Builder b = HttpRequestPacket.builder();
>>>>> @@ -974,7 +974,7 @@
>>>>> ServerConfiguration sconfig =
>>>>> server.getServerConfiguration();
>>>>> sconfig.addHttpHandler(new
>>>>> SimpleResponseHttpHandler(strategy, testResult), "/*");
>>>>>
>>>>> - TCPNIOTransport ctransport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + TCPNIOTransport ctransport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> try {
>>>>> server.start();
>>>>> FilterChainBuilder clientFilterChainBuilder =
>>>>> FilterChainBuilder.stateless();
>>>>> @@ -1001,7 +1001,6 @@
>>>>> } finally {
>>>>> server.stop();
>>>>> ctransport.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>> }
>>>>>
>>>>> Index:
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/NIOOutputSinksTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/NIOOutputSinksTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http-server/src/test/java/org/glassfish/grizzly/http/server/NIOOutputSinksTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -42,7 +42,7 @@
>>>>>
>>>>> import org.glassfish.grizzly.Buffer;
>>>>> import org.glassfish.grizzly.Connection;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.asyncqueue.AsyncQueueWriter;
>>>>> import org.glassfish.grizzly.asyncqueue.TaskQueue;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> @@ -135,7 +135,7 @@
>>>>> });
>>>>>
>>>>>
>>>>> - final TCPNIOTransport clientTransport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + final TCPNIOTransport clientTransport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> clientTransport.setProcessor(filterChainBuilder.build());
>>>>> final AtomicInteger writeCounter = new AtomicInteger();
>>>>> final AtomicBoolean callbackInvoked = new
>>>>> AtomicBoolean(false);
>>>>> @@ -230,7 +230,6 @@
>>>>> } finally {
>>>>> clientTransport.stop();
>>>>> server.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>>
>>>>> }
>>>>> @@ -296,7 +295,7 @@
>>>>> });
>>>>>
>>>>>
>>>>> - final TCPNIOTransport clientTransport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + final TCPNIOTransport clientTransport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> clientTransport.setProcessor(filterChainBuilder.build());
>>>>> final AtomicInteger writeCounter = new AtomicInteger();
>>>>> final AtomicBoolean callbackInvoked = new
>>>>> AtomicBoolean(false);
>>>>> @@ -394,7 +393,6 @@
>>>>> } finally {
>>>>> clientTransport.stop();
>>>>> server.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>>
>>>>> }
>>>>> @@ -442,7 +440,7 @@
>>>>> }
>>>>> });
>>>>>
>>>>> - final TCPNIOTransport clientTransport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + final TCPNIOTransport clientTransport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> clientTransport.setProcessor(filterChainBuilder.build());
>>>>> final HttpHandler ga = new HttpHandler() {
>>>>>
>>>>> @@ -499,7 +497,6 @@
>>>>> } finally {
>>>>> clientTransport.stop();
>>>>> server.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>> }
>>>>>
>>>>> Index:
>>>>> branches/2dot0/code/modules/http-server/src/main/java/org/glassfish/grizzly/http/server/NetworkListener.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http-server/src/main/java/org/glassfish/grizzly/http/server/NetworkListener.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http-server/src/main/java/org/glassfish/grizzly/http/server/NetworkListener.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2010 Oracle and/or its affiliates. All rights
>>>>> reserved.
>>>>> + * Copyright (c) 2010-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -42,7 +42,7 @@
>>>>>
>>>>> import org.glassfish.grizzly.Connection;
>>>>> import org.glassfish.grizzly.Grizzly;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.filterchain.Filter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChain;
>>>>> import org.glassfish.grizzly.http.ContentEncoding;
>>>>> @@ -117,7 +117,7 @@
>>>>> * The {_at_link TCPNIOTransport} used by this
>>>>> <code>NetworkListener</code>
>>>>> */
>>>>> private TCPNIOTransport transport =
>>>>> - TransportFactory.getInstance().createTCPTransport();
>>>>> + (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>>
>>>>>
>>>>> /**
>>>>> Index:
>>>>> branches/2dot0/code/modules/http-server/src/main/java/org/glassfish/grizzly/http/server/HttpServer.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/http-server/src/main/java/org/glassfish/grizzly/http/server/HttpServer.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/http-server/src/main/java/org/glassfish/grizzly/http/server/HttpServer.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2008-2010 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> + * Copyright (c) 2008-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -42,6 +42,7 @@
>>>>>
>>>>> import org.glassfish.grizzly.ConnectionProbe;
>>>>> import org.glassfish.grizzly.Grizzly;
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.Processor;
>>>>> import org.glassfish.grizzly.filterchain.FilterChain;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainBuilder;
>>>>> @@ -58,7 +59,6 @@
>>>>> import java.util.logging.Level;
>>>>> import java.util.logging.Logger;
>>>>>
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.TransportProbe;
>>>>> import org.glassfish.grizzly.filterchain.TransportFilter;
>>>>> import org.glassfish.grizzly.http.ContentEncoding;
>>>>> @@ -391,7 +391,6 @@
>>>>> disableJMX();
>>>>> }
>>>>>
>>>>> - TransportFactory.getInstance().close();
>>>>> } catch (Exception e) {
>>>>> LOGGER.log(Level.WARNING, null, e);
>>>>> } finally {
>>>>> @@ -593,7 +592,7 @@
>>>>> @Override
>>>>> public Thread newThread(Runnable r) {
>>>>> final Thread newThread = new DefaultWorkerThread(
>>>>> -
>>>>> TransportFactory.getInstance().getDefaultAttributeBuilder(),
>>>>> +
>>>>> NIOTransportBuilder.DEFAULT_ATTRIBUTE_BUILDER,
>>>>> "HttpServer-" +
>>>>> threadCounter.getAndIncrement(),
>>>>> null,
>>>>> r);
>>>>> @@ -622,7 +621,7 @@
>>>>> @Override
>>>>> public Thread newThread(Runnable r) {
>>>>> final Thread newThread = new DefaultWorkerThread(
>>>>> -
>>>>> TransportFactory.getInstance().getDefaultAttributeBuilder(),
>>>>> +
>>>>> NIOTransportBuilder.DEFAULT_ATTRIBUTE_BUILDER,
>>>>> serverConfig.getName() + "-" +
>>>>> threadCounter.getAndIncrement(),
>>>>> null,
>>>>> r);
>>>>> Index:
>>>>> branches/2dot0/code/modules/config/src/main/java/org/glassfish/grizzly/config/GrizzlyConfig.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/config/src/main/java/org/glassfish/grizzly/config/GrizzlyConfig.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/config/src/main/java/org/glassfish/grizzly/config/GrizzlyConfig.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2007-2010 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> + * Copyright (c) 2007-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -47,7 +47,6 @@
>>>>> import java.util.logging.Logger;
>>>>>
>>>>> import org.glassfish.grizzly.Grizzly;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.config.dom.NetworkConfig;
>>>>> import org.glassfish.grizzly.config.dom.NetworkListener;
>>>>> import org.glassfish.grizzly.memory.AbstractMemoryManager;
>>>>> @@ -83,13 +82,14 @@
>>>>> validateConfig(config);
>>>>> synchronized (listeners) {
>>>>> AbstractMemoryManager amm = null;
>>>>> - final MemoryManager mm =
>>>>> TransportFactory.getInstance().getDefaultMemoryManager();
>>>>> - if (mm instanceof AbstractMemoryManager) {
>>>>> - amm = (AbstractMemoryManager) mm;
>>>>> - }
>>>>> +
>>>>> for (final NetworkListener listener :
>>>>> config.getNetworkListeners().getNetworkListener()) {
>>>>> - final GrizzlyListener grizzlyListener = new
>>>>> GenericGrizzlyListener();
>>>>> + final GenericGrizzlyListener grizzlyListener =
>>>>> new GenericGrizzlyListener();
>>>>> grizzlyListener.configure(habitat, listener);
>>>>> + final MemoryManager mm =
>>>>> grizzlyListener.transport.getMemoryManager();
>>>>> + if (mm instanceof AbstractMemoryManager) {
>>>>> + amm = (AbstractMemoryManager) mm;
>>>>> + }
>>>>> listeners.add(grizzlyListener);
>>>>> final Thread thread = new
>>>>> DefaultWorkerThread(Grizzly.DEFAULT_ATTRIBUTE_BUILDER,
>>>>>
>>>>> grizzlyListener.getName(),
>>>>> Index:
>>>>> branches/2dot0/code/modules/config/src/main/java/org/glassfish/grizzly/config/GenericGrizzlyListener.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/config/src/main/java/org/glassfish/grizzly/config/GenericGrizzlyListener.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/config/src/main/java/org/glassfish/grizzly/config/GenericGrizzlyListener.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2007-2010 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> + * Copyright (c) 2007-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -56,8 +56,9 @@
>>>>> import java.util.concurrent.atomic.AtomicInteger;
>>>>> import java.util.logging.Level;
>>>>> import java.util.logging.Logger;
>>>>> +
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.SocketBinder;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.config.dom.Http;
>>>>> import org.glassfish.grizzly.config.dom.NetworkListener;
>>>>> import org.glassfish.grizzly.config.dom.PortUnification;
>>>>> @@ -118,7 +119,7 @@
>>>>> protected volatile String name;
>>>>> protected volatile InetAddress address;
>>>>> protected volatile int port;
>>>>> - protected NIOTransport transport;
>>>>> + NIOTransport transport;
>>>>> protected FilterChain rootFilterChain;
>>>>>
>>>>> private volatile ExecutorService auxExecutorService;
>>>>> @@ -248,7 +249,7 @@
>>>>> protected NIOTransport configureTCPTransport(final Habitat
>>>>> habitat,
>>>>> final Transport transportConfig) {
>>>>>
>>>>> - final TCPNIOTransport tcpTransport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + final TCPNIOTransport tcpTransport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>>
>>>>> tcpTransport.setTcpNoDelay(Boolean.parseBoolean(transportConfig.getTcpNoDelay()));
>>>>>
>>>>> tcpTransport.setLinger(Integer.parseInt(transportConfig.getLinger()));
>>>>>
>>>>>
>>>>> tcpTransport.setServerConnectionBackLog(Integer.parseInt(transportConfig.getMaxConnectionsCount()));
>>>>> @@ -259,7 +260,7 @@
>>>>> protected NIOTransport configureUDPTransport(final Habitat
>>>>> habitat,
>>>>> final Transport transportConfig) {
>>>>>
>>>>> - return TransportFactory.getInstance().createUDPTransport();
>>>>> + return
>>>>> NIOTransportBuilder.defaultUDPTransportBuilder().build();
>>>>> }
>>>>>
>>>>> protected void configureProtocol(final Habitat habitat,
>>>>> @@ -476,7 +477,7 @@
>>>>> @Override
>>>>> public Thread newThread(Runnable r) {
>>>>> final Thread newThread = new DefaultWorkerThread(
>>>>> -
>>>>> TransportFactory.getInstance().getDefaultAttributeBuilder(),
>>>>> + transport.getAttributeBuilder(),
>>>>> getName() + "-" +
>>>>> threadCounter.getAndIncrement(),
>>>>> null,
>>>>> r);
>>>>> Index:
>>>>> branches/2dot0/code/modules/portunif/src/test/java/org/glassfish/grizzly/portunif/BasicPUTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/portunif/src/test/java/org/glassfish/grizzly/portunif/BasicPUTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/portunif/src/test/java/org/glassfish/grizzly/portunif/BasicPUTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2007-2010 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> + * Copyright (c) 2007-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -41,6 +41,8 @@
>>>>> package org.glassfish.grizzly.portunif;
>>>>>
>>>>> import java.nio.charset.Charset;
>>>>> +
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.filterchain.FilterChain;
>>>>> import java.io.IOException;
>>>>> import org.glassfish.grizzly.filterchain.BaseFilter;
>>>>> @@ -49,7 +51,6 @@
>>>>> import org.glassfish.grizzly.nio.transport.TCPNIOConnection;
>>>>> import java.util.concurrent.Future;
>>>>> import org.glassfish.grizzly.nio.transport.TCPNIOTransport;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.filterchain.TransportFilter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainBuilder;
>>>>> import org.glassfish.grizzly.Connection;
>>>>> @@ -86,7 +87,7 @@
>>>>> .add(new StringFilter(CHARSET))
>>>>> .add(puFilter);
>>>>>
>>>>> - TCPNIOTransport transport =
>>>>> TransportFactory.getInstance().createTCPTransport();
>>>>> + TCPNIOTransport transport = (TCPNIOTransport)
>>>>> NIOTransportBuilder.defaultTCPTransportBuilder().build();
>>>>> transport.setProcessor(puFilterChainBuilder.build());
>>>>>
>>>>> try {
>>>>> @@ -123,7 +124,6 @@
>>>>> }
>>>>>
>>>>> transport.stop();
>>>>> - TransportFactory.getInstance().close();
>>>>> }
>>>>> }
>>>>>
>>>>> Index:
>>>>> branches/2dot0/code/modules/portunif/src/test/java/org/glassfish/grizzly/portunif/SSLAndPlainTest.java
>>>>> ===================================================================
>>>>> ---
>>>>> branches/2dot0/code/modules/portunif/src/test/java/org/glassfish/grizzly/portunif/SSLAndPlainTest.java
>>>>> (revision 5605)
>>>>> +++
>>>>> branches/2dot0/code/modules/portunif/src/test/java/org/glassfish/grizzly/portunif/SSLAndPlainTest.java
>>>>> (revision 5606)
>>>>> @@ -1,7 +1,7 @@
>>>>> /*
>>>>> * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
>>>>> *
>>>>> - * Copyright (c) 2007-2010 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> + * Copyright (c) 2007-2011 Oracle and/or its affiliates. All
>>>>> rights reserved.
>>>>> *
>>>>> * The contents of this file are subject to the terms of either
>>>>> the GNU
>>>>> * General Public License Version 2 only ("GPL") or the Common
>>>>> Development
>>>>> @@ -40,6 +40,7 @@
>>>>>
>>>>> package org.glassfish.grizzly.portunif;
>>>>>
>>>>> +import org.glassfish.grizzly.NIOTransportBuilder;
>>>>> import org.glassfish.grizzly.portunif.finders.SSLProtocolFinder;
>>>>> import org.glassfish.grizzly.utils.StringDecoder;
>>>>> import org.glassfish.grizzly.Buffer;
>>>>> @@ -54,7 +55,6 @@
>>>>> import java.util.concurrent.Future;
>>>>> import java.util.concurrent.TimeUnit;
>>>>> import org.glassfish.grizzly.nio.transport.TCPNIOTransport;
>>>>> -import org.glassfish.grizzly.TransportFactory;
>>>>> import org.glassfish.grizzly.filterchain.TransportFilter;
>>>>> import org.glassfish.grizzly.filterchain.FilterChainBuilder;
>>>>> import org.glassfish.grizzly.Connection;
>>>>> @@ -146,7 +146,7 @@
>>>>> .add(new TransportFilter())
>>>>> .add(rootPuFilter);
>>>>>
>>>>> - TCPNIOTransport transport = Tra
>>>>> [truncated due to length]
>>>>>
>>>
>>>