Hi,
Thank you for quick update!
--
Bongjae Chang
----- Original Message -----
From: "Jeanfrancois Arcand" <Jeanfrancois.Arcand_at_Sun.COM>
To: <dev_at_grizzly.dev.java.net>
Sent: Tuesday, May 12, 2009 11:35 AM
Subject: Re: About XXXConnectorHandler's isConnected() API
> Salut,
>
> Bongjae Chang wrote:
>> Hi,
>>
>> All ConnectorHandlers like TCPConnectorHandler, UDPConnectorHandler,
>> SSLConnectorHandler and CacheableConnectorHandler have the same
>> isConnected() method.
>>
>> I think that it is better that ConnectorHandler interface has the
>> isConnected() API and AbstractConnectorHandler has the isConnected
>> member value and implements default isConnected() method.
>>
>> What do you think?
>
> I agree. I will go ahead and apply the patch as it is. Thanks for the
> contributions! I've filled issue:
>
> https://grizzly.dev.java.net/issues/show_bug.cgi?id=593
>
> so it appears to the change log next release.
>
> Keep the patches coming!
>
> A+
>
> -- Jeanfrancois
>
>>
>> I attached the diff and sources.
>>
>> And here are diffs.
>>
>> Index: com/sun/grizzly/TCPConnectorHandler.java
>> ===================================================================
>> --- com/sun/grizzly/TCPConnectorHandler.java (revision 3172)
>> +++ com/sun/grizzly/TCPConnectorHandler.java (working copy)
>> @@ -116,12 +116,6 @@
>>
>>
>> /**
>> - * Is the connection established.
>> - */
>> - private volatile boolean isConnected;
>> -
>> -
>> - /**
>> * IsConnected Latch related
>> */
>> private CountDownLatch isConnectedLatch;
>> @@ -664,15 +658,6 @@
>>
>>
>> /**
>> - * Is the underlying SocketChannel connected.
>> - * @return <tt>true</tt> if connected, otherwise <tt>false</tt>
>> - */
>> - public boolean isConnected(){
>> - return isConnected && underlyingChannel.isOpen();
>> - }
>> -
>> -
>> - /**
>> * Return the tcpNoDelay value used by the underlying accepted Sockets.
>> *
>> * Also see setTcpNoDelay(boolean tcpNoDelay)
>> Index: com/sun/grizzly/ConnectorHandler.java
>> ===================================================================
>> --- com/sun/grizzly/ConnectorHandler.java (revision 3172)
>> +++ com/sun/grizzly/ConnectorHandler.java (working copy)
>> @@ -231,4 +231,11 @@
>> * @param callbackHandler handler
>> */
>> public void setCallbackHandler(P callbackHandler);
>> +
>> + /**
>> + * Is the underlying channel connected.
>> + *
>> + * @return <tt>true</tt> if connected, otherwise <tt>false</tt>
>> + */
>> + public boolean isConnected();
>> }
>> Index: com/sun/grizzly/UDPConnectorHandler.java
>> ===================================================================
>> --- com/sun/grizzly/UDPConnectorHandler.java (revision 3172)
>> +++ com/sun/grizzly/UDPConnectorHandler.java (working copy)
>> @@ -80,12 +80,6 @@
>> implements AsyncQueueWritable, AsyncQueueReadable {
>>
>> /**
>> - * Is the connection established.
>> - */
>> - protected volatile boolean isConnected;
>> -
>> -
>> - /**
>> * IsConnected Latch related
>> */
>> protected CountDownLatch isConnectedLatch;
>> @@ -590,13 +584,4 @@
>> public Controller.Protocol protocol(){
>> return Controller.Protocol.UDP;
>> }
>> -
>> -
>> - /**
>> - * Is the underlying DatagramChannel connected.
>> - * @return true if connected, othewise false
>> - */
>> - public boolean isConnected(){
>> - return isConnected && underlyingChannel.isOpen();
>> - }
>> }
>> Index: com/sun/grizzly/connectioncache/client/CacheableConnectorHandler.java
>> ===================================================================
>> ---
>> com/sun/grizzly/connectioncache/client/CacheableConnectorHandler.java (revision
>> 3172)
>> +++
>> com/sun/grizzly/connectioncache/client/CacheableConnectorHandler.java (working
>> copy)
>> @@ -186,7 +186,10 @@
>> }
>> }
>>
>> -
>> + public boolean isConnected() {
>> + return underlyingConnectorHandler != null &&
>> underlyingConnectorHandler.isConnected();
>> + }
>> +
>> public ConnectorHandler getUnderlyingConnectorHandler() {
>> return underlyingConnectorHandler;
>> }
>> Index: com/sun/grizzly/SSLConnectorHandler.java
>> ===================================================================
>> --- com/sun/grizzly/SSLConnectorHandler.java (revision 3172)
>> +++ com/sun/grizzly/SSLConnectorHandler.java (working copy)
>> @@ -143,11 +143,6 @@
>> private ByteBuffer asyncHandshakeBuffer;
>>
>> /**
>> - * Is the connection established.
>> - */
>> - private volatile boolean isConnected;
>> -
>> - /**
>> * Is the handshake phase completed
>> */
>> private volatile boolean isHandshakeDone;
>> @@ -756,14 +751,6 @@
>> * Is the underlying SocketChannel connected.
>> * @return <tt>true</tt> if connected, otherwise <tt>false</tt>
>> */
>> - public boolean isConnected() {
>> - return isConnected && underlyingChannel.isOpen();
>> - }
>> -
>> - /**
>> - * Is the underlying SocketChannel connected.
>> - * @return <tt>true</tt> if connected, otherwise <tt>false</tt>
>> - */
>> public boolean isHandshakeDone() {
>> return isHandshakeDone && !isProcessingAsyncHandshake;
>> }
>> Index: com/sun/grizzly/AbstractConnectorHandler.java
>> ===================================================================
>> --- com/sun/grizzly/AbstractConnectorHandler.java (revision 3172)
>> +++ com/sun/grizzly/AbstractConnectorHandler.java (working copy)
>> @@ -76,6 +76,11 @@
>> * The connection's SelectableChannel.
>> */
>> protected SelectableChannel underlyingChannel;
>> +
>> + /**
>> + * Is the connection established.
>> + */
>> + protected volatile boolean isConnected;
>>
>> /**
>> * Get the <tt>ConnectorHandler</tt> {_at_link <mailto:{_at_link> Protocol}.
>> @@ -157,4 +162,12 @@
>> public void setCallbackHandler(K callbackHandler) {
>> this.callbackHandler = callbackHandler;
>> }
>> +
>> + /**
>> + * Is the underlying channel connected.
>> + * @return <tt>true</tt> if connected, otherwise <tt>false</tt>
>> + */
>> + public boolean isConnected(){
>> + return isConnected && underlyingChannel != null &&
>> underlyingChannel.isOpen();
>> + }
>> }
>> Thanks.
>>
>> --
>> Bongjae Chang
>>
>>
>> ------------------------------------------------------------------------
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
>> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_grizzly.dev.java.net
> For additional commands, e-mail: dev-help_at_grizzly.dev.java.net
>
>
>
>