Kamaelia.Internet.TCPServer.TCPServer

class TCPServer(Axon.Component.component)

TCPServer(listenport) -> TCPServer component listening on the specified port.

Creates a TCPServer component that accepts all connection requests on the specified port.

Inboxes

Outboxes

Methods defined here

Warning!

    You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.

__init__(self, listenport)

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

checkForClosedSockets(self)

Check "_csa_feedback" inbox for socketShutdown messages, and close sockets in response.

closeSocket(self, shutdownMessage)

Respond to a socketShutdown message by closing the socket.

Sends a shutdownCSA(self, (theCSA, sock)) message to the selectorComponent. Sends a shutdownCSA(self, theCSA) message to "protocolHandlerSignal" outbox.

createConnectedSocket(self, sock)

Accepts the connection request on the specified socket and returns a ConnectedSocketAdapter component for it.

handleNewConnection(self)

Handle notifications from the selector service of new connection requests.

Accepts and sets up new connections, wiring them up and passing them on via the "protocolHandlerSignal" outbox.

initialiseComponent(self)

Obtains a selector service and wires up to it, registering self to be notified of incoming connection requests on a socket bound to the port its supposed to be listening to.

mainBody(self)

Main loop

makeTCPServerPort(self, suppliedport, HOST, minrange, maxrange, maxlisten)

Returns (socket,port) - a bound TCP listener socket and the port number it is listening on.

If suppliedPort is not specified, then a random port is chosen between minrange and maxrange inclusive.

maxlisten is the max number of pending requests the server will allow (queue up).


Feedback

Got a problem with the documentation? Something unclear, could be clearer? Want to help with improving? Constructive criticism, preferably in the form of suggested rewording is very welcome.

Please leave the feedback here, in reply to the documentation thread in the Kamaelia blog.


(C) 2006 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved, This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC.