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]
>>