This class is a KMethod with all the code for dealing with an incoming HTTP connection. The WebServer creates one of these ConnectionKMethods for each client that connects to the server.
Notes on Keep-Alive connections:
There are 2 fields in the AgentRequest that pertain to keep-alive connections: KEEP_ALIVE and KEEP_ALIVE_FIELD.
The KEEP_ALIVE_FIELD property is set by the ConnectionKMethod, if this property is NOT set, a Keep-Alive connection cannot be used.
The KEEP_ALIVE property is set by the agent that handles the request, if this property is set, the ConnectionKMethod will keep the connection alive.
The agent (for instance, a HTTPFileServerAgent) that handles the request is responsible for the following:
It must return a content-length header in the response, this usually means the agent must return its own HTTP response.
If a keep alive is allowed, and the client wants a keep-alive, the agent must return the Connection: Keep-Alive field as well as the contents of the KEEP_ALIVE_FIELD property.
If a keep alive is allowed, and the client wants a keep-alive, the agent must set the KEEP_ALIVE property in the AgentRequest.
If a keep alive is allowed, and the client wants a keep-alive, the agent must NOT close the Socket or the Socket streams.
For a list of all members of this type, see ConnectionKMethod Members .
System.Object
KMethod
ConnectionKMethod
Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.
Namespace: com.neokernel.httpd
Assembly: Neokernel (in Neokernel.exe)
ConnectionKMethod Members | com.neokernel.httpd Namespace | HTTPRequest | RequestAgent | HTTPFileServerAgent