users@grizzly.java.net

How ProtocolParser handle a disconnection from the client ?

From: Survivant 00 <survivant00_at_gmail.com>
Date: Mon, 21 Jul 2008 16:29:03 -0400

I have a little bug in my program. The program is stuck in a loop in the
first filter when a client close the connection wihtou sending data to the
server. If the client had sent data before closing his session, the server
will be fine

here the usecase.

start the server.
a client do a telnet
close the client telnet
the server will loop.

here the ouput for a normal connection

GrizzlyGateway started
listening for incomming TCP Connections on port : 5000
isExpectingMoreData
startBuffer
hasNextMessage
hasNextMessage: feed|aaa[eoq]
index: 8 substr: substr.len: 0
getNextMessage
query = feed|aaa
hasMoreBytesToParse
isExpectingMoreData
releaseBuffer
isExpectingMoreData
startBuffer
hasMoreBytesToParse
isExpectingMoreData
releaseBuffer


the client send a new request

isExpectingMoreData
startBuffer
hasNextMessage
hasNextMessage: quit|a
hasMoreBytesToParse
isExpectingMoreData
releaseBuffer
isExpectingMoreData
startBuffer
hasNextMessage
hasNextMessage: quit|aaa[eoq]
index: 8 substr: substr.len: 0
getNextMessage
query = quit|aaa
ClientConnection close
hasMoreBytesToParse
isExpectingMoreData
releaseBuffer
isExpectingMoreData
startBuffer
hasMoreBytesToParse
isExpectingMoreData
releaseBuffer

but if the client open the session and close is after that without sending a
message.. it will loop

GrizzlyGateway started
listening for incomming TCP Connections on port : 5000
isExpectingMoreData
startBuffer
hasMoreBytesToParse
isExpectingMoreData
releaseBuffer
isExpectingMoreData
startBuffer
hasMoreBytesToParse
isExpectingMoreData
releaseBuffer
isExpectingMoreData
startBuffer
hasMoreBytesToParse
isExpectingMoreData
releaseBuffer
isExpectingMoreData
startBuffer