users@grizzly.java.net

grizzly 1.9.x async question

From: Rama <ramarro28_at_gmail.com>
Date: Mon, 14 Nov 2011 10:41:42 +0100

Hi there, i have some question regarding async adapter in gws 1.9.X series.


let's suppose that i'll chain a AsyncFilter to my webserver and i
suspend the request as follow (pseudocode)


public Result doFilter(AsyncExecutor asyncExecutor) {
queue.add(asyncExecutor,System.currenttimemillis());
 return Result.INTERRUPT;
}


later i'll iterate on the queue and i'll check if the timeout is >
than 30.000 and if yes, i'll execute the request

if (systemcurrent > eta+30000) {
            a.execute();
            a.getAsyncTask().doTask();
}


basically i expect that all the requests get delayed by 30sec, but
this doesn't happen :(
on safari for istance, request get delayed by 20sec (no idea why)


Also, if i set "this.getSelectorThread().setKeepAliveTimeoutInSeconds(1);"
i got connection closed
on client side.

Why keepalive is related to the async stuff?
If yes, what's happen when i reach the max_keepalive_num_request with async?!?

honestly i don't get why keepalivetimeout influence async stuff.


So basically, summarizing the questions

1) why keepalive_timeout influence async request?
2) why async request finish BEFORE what they should? there is any
parsing related to browser header that i don't get?


tnx!