Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
BaseServer Class Reference
Inheritance diagram for BaseServer:
TCPServer HTTPServer SimpleXMLRPCServer ForkingTCPServer ThreadingTCPServer UDPServer UnixStreamServer ForkingUDPServer ThreadingUDPServer UnixDatagramServer ThreadingUnixStreamServer ThreadingUnixDatagramServer

Public Member Functions

def __init__
 
def server_activate
 
def serve_forever
 
def handle_request
 
def verify_request
 
def process_request
 
def server_close
 
def finish_request
 
def close_request
 
def handle_error
 

Data Fields

 server_address
 
 RequestHandlerClass
 

Detailed Description

Base class for server classes.

Methods for the caller:

- __init__(server_address, RequestHandlerClass)
- serve_forever()
- handle_request()  # if you do not use serve_forever()
- fileno() -> int   # for select()

Methods that may be overridden:

- server_bind()
- server_activate()
- get_request() -> request, client_address
- verify_request(request, client_address)
- server_close()
- process_request(request, client_address)
- close_request(request)
- handle_error()

Methods for derived classes:

- finish_request(request, client_address)

Class variables that may be overridden by derived classes or
instances:

- address_family
- socket_type
- reuse_address

Instance variables:

- RequestHandlerClass
- socket

Definition at line 144 of file SocketServer.py.

Constructor & Destructor Documentation

def __init__ (   self,
  server_address,
  RequestHandlerClass 
)
Constructor.  May be extended, do not override.

Definition at line 184 of file SocketServer.py.

185  def __init__(self, server_address, RequestHandlerClass):
186  """Constructor. May be extended, do not override."""
187  self.server_address = server_address
188  self.RequestHandlerClass = RequestHandlerClass

Member Function Documentation

def close_request (   self,
  request 
)
Called to clean up an individual request.

Definition at line 255 of file SocketServer.py.

256  def close_request(self, request):
257  """Called to clean up an individual request."""
258  pass
def finish_request (   self,
  request,
  client_address 
)
Finish one request by instantiating RequestHandlerClass.

Definition at line 251 of file SocketServer.py.

252  def finish_request(self, request, client_address):
253  """Finish one request by instantiating RequestHandlerClass."""
254  self.RequestHandlerClass(request, client_address, self)
def handle_error (   self,
  request,
  client_address 
)
Handle an error gracefully.  May be overridden.

The default is to print a traceback and continue.

Definition at line 259 of file SocketServer.py.

260  def handle_error(self, request, client_address):
261  """Handle an error gracefully. May be overridden.
262 
263  The default is to print a traceback and continue.
264 
265  """
266  print '-'*40
267  print 'Exception happened during processing of request from',
268  print client_address
269  import traceback
270  traceback.print_exc() # XXX But this goes to stderr!
271  print '-'*40
272 
def handle_request (   self)
Handle one request, possibly blocking.

Definition at line 213 of file SocketServer.py.

References BaseServer.close_request(), TCPServer.get_request(), UDPServer.get_request(), OpenerDirector.handle_error, BaseServer.handle_error(), BaseServer.process_request(), and BaseServer.verify_request().

214  def handle_request(self):
215  """Handle one request, possibly blocking."""
216  try:
217  request, client_address = self.get_request()
218  except socket.error:
219  return
220  if self.verify_request(request, client_address):
221  try:
222  self.process_request(request, client_address)
223  except:
224  self.handle_error(request, client_address)
225  self.close_request(request)
def process_request (   self,
  request,
  client_address 
)
Call finish_request.

Overridden by ForkingMixIn and ThreadingMixIn.

Definition at line 234 of file SocketServer.py.

References BaseServer.close_request(), and BaseServer.finish_request().

235  def process_request(self, request, client_address):
236  """Call finish_request.
237 
238  Overridden by ForkingMixIn and ThreadingMixIn.
239 
240  """
241  self.finish_request(request, client_address)
242  self.close_request(request)
def serve_forever (   self)
Handle one request at a time until doomsday.

Definition at line 197 of file SocketServer.py.

198  def serve_forever(self):
199  """Handle one request at a time until doomsday."""
200  while 1:
201  self.handle_request()
def server_activate (   self)
Called by constructor to activate the server.

May be overridden.

Definition at line 189 of file SocketServer.py.

190  def server_activate(self):
191  """Called by constructor to activate the server.
192 
193  May be overridden.
194 
195  """
196  pass
def server_close (   self)
Called to clean-up the server.

May be overridden.

Definition at line 243 of file SocketServer.py.

244  def server_close(self):
245  """Called to clean-up the server.
246 
247  May be overridden.
248 
249  """
250  pass
def verify_request (   self,
  request,
  client_address 
)
Verify the request.  May be overridden.

Return true if we should proceed with this request.

Definition at line 226 of file SocketServer.py.

227  def verify_request(self, request, client_address):
228  """Verify the request. May be overridden.
229 
230  Return true if we should proceed with this request.
231 
232  """
233  return 1

Field Documentation

RequestHandlerClass

Definition at line 187 of file SocketServer.py.

server_address

Definition at line 186 of file SocketServer.py.


The documentation for this class was generated from the following file: