forked from I2P_Developers/i2p.i2p
Update Python I2P version 0.91 by sunshine
This commit is contained in:
72
apps/sam/python/src/i2p/SocketServer.py
Normal file
72
apps/sam/python/src/i2p/SocketServer.py
Normal file
@@ -0,0 +1,72 @@
|
||||
|
||||
"""
|
||||
Emulation of Python SocketServer module using I2P sockets.
|
||||
|
||||
The Python module is described at
|
||||
http://www.python.org/doc/current/lib/module-SocketServer.html
|
||||
|
||||
"""
|
||||
|
||||
# By aum.
|
||||
|
||||
# Hack to keep Python from importing from current directory:
|
||||
# Use pylib package, then use = signs instead of from x import y.
|
||||
import pylib
|
||||
SocketServer = pylib.SocketServer
|
||||
|
||||
import i2p.socket
|
||||
class BaseServer(SocketServer.BaseServer):
|
||||
pass
|
||||
class TCPServer(SocketServer.TCPServer, BaseServer):
|
||||
|
||||
socket_type = i2p.socket.SOCK_STREAM
|
||||
|
||||
def __init__(self, session, RequestHandlerClass):
|
||||
"""
|
||||
Constructor. May be extended, do not override.
|
||||
|
||||
The 'session' argument indicates the SAM session
|
||||
name that should be used for the server. See module
|
||||
i2p.socket for details on SAM sessions.
|
||||
"""
|
||||
BaseServer.__init__(self, session, RequestHandlerClass)
|
||||
|
||||
#self.socket = socket.socket(self.address_family,
|
||||
# self.socket_type)
|
||||
self.session = session
|
||||
self.socket = i2p.socket.socket(session, self.socket_type)
|
||||
|
||||
self.server_bind()
|
||||
self.server_activate()
|
||||
|
||||
class UDPServer(TCPServer, SocketServer.UDPServer):
|
||||
pass
|
||||
|
||||
class ForkingMixIn(SocketServer.ForkingMixIn):
|
||||
pass
|
||||
|
||||
class ThreadingMixIn(SocketServer.ThreadingMixIn):
|
||||
pass
|
||||
|
||||
class ForkingUDPServer(ForkingMixIn, UDPServer):
|
||||
pass
|
||||
|
||||
class ForkingTCPServer(ForkingMixIn, TCPServer):
|
||||
pass
|
||||
|
||||
class ThreadingUDPServer(ThreadingMixIn, UDPServer):
|
||||
pass
|
||||
|
||||
class ThreadingTCPServer(ThreadingMixIn, TCPServer):
|
||||
pass
|
||||
|
||||
class BaseRequestHandler(SocketServer.BaseRequestHandler):
|
||||
pass
|
||||
|
||||
class StreamRequestHandler(SocketServer.StreamRequestHandler):
|
||||
pass
|
||||
|
||||
class DatagramRequestHandler(SocketServer.DatagramRequestHandler):
|
||||
pass
|
||||
|
||||
|
||||
Reference in New Issue
Block a user