users@grizzly.java.net

Re: GF v2.1

From: Jeanfrancois Arcand <Jeanfrancois.Arcand_at_Sun.COM>
Date: Tue, 25 Nov 2008 21:52:21 -0500

Salut,

1.0.20. The code can be browsed here:

https://glassfish.dev.java.net/source/browse/glassfish/appserv-http-engine/src/java/com/sun/enterprise/web/connector/grizzly/

old code, but quite stable!

A+

-- Jeanfrancois

Richard Corsale wrote:
> Hi all,
>
> I was wondering which version of Grizzly will be embeded in GF 2.1 when it ships?
>
> --Richard
>
>
>
>
> ----- Original Message ----
> From: Jeanfrancois Arcand <Jeanfrancois.Arcand_at_Sun.COM>
> To: users_at_grizzly.dev.java.net
> Sent: Tuesday, November 25, 2008 7:57:16 PM
> Subject: Re: [ANN] Getting notified when client or server close the connection.
>
> Salut,
>
> Amy Kang wrote:
>> Hi Jeanfrancois,
>>
>> In the ConnectionCloseHandler methods locallyClosed() and remotelyClosed(),
>> will SelectionKey.attachment() guarantee to return the existing attachment
>> that was set to through the AttributeHolder,
>>
>> ctx.getAttributeHolderByScope(Context.AttributeScope.CONNECTION);
>>
>> the attached object is what I need to do clean up on the server side for the connection.
>
> Hum nice catch..it will works when the remotlyClosed is invoked, but right now it will not work when the locallyClosed is invoked. The reason is I wanted to make sure the SelectionKey and its associated Channel are closed before invoking the handler.
>
> Let me rework the implementation to make sure I support your use case.
>
> Thanks for the feedback.
>
> -- Jeanfrancois
>
>
>
>
>> Thanks,
>> amy
>>
>> On 11/24/08 19:00, Jeanfrancois Arcand wrote:
>>> Salut,
>>>
>>> I've added a new Handler for managing local and remote connection close. The new ConnectionCloseHandler[1] can be configured on any class that extends our BaseSelectionKeyHandler (like DefaultSelectionKeyHandler):
>>>
>>> SelectionKeyHandler skh = new DefaultSelectionKeyHandler();
>>> shk.setConnectionCloseHandler(new ConnectionCloseHandler() {
>>>
>>> public void locallyClosed(SelectionKey key) {
>>> logger.info(key + " is being locally cancelled");
>>> }
>>>
>>> public void remotlyClosed(SelectionKey key) {
>>> logger.fine(key + " is being remotly cancelled (connection closed)");
>>> }
>>> });
>>>
>>> controller.setSelectionKeyHandler(skh);
>>>
>>> Those two methods gets invoked when any of the following condition happens:
>>>
>>> 1. Any IOException occurs on I/O operations (read/write)
>>> 2. When the read() or write() operation return -1
>>>
>>> Please try it :-)
>>>
>>> A+
>>>
>>> -- Jeanfrancois
>>>
>>> [1] https://grizzly.dev.java.net/nonav/apidocs/com/sun/grizzly/util/ConnectionCloseHandler.html
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
>> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_grizzly.dev.java.net
> For additional commands, e-mail: users-help_at_grizzly.dev.java.net
>