コード例 #1
0
ファイル: threaded.py プロジェクト: yd0str/hontel
 def writemessage(self, text):
     """Put data in output queue, rebuild the prompt and entered data"""
     # Need to grab the input queue lock to ensure the entered data doesn't change
     # before we're done rebuilding it.
     # Note that writemessage will eventually call writecooked
     self.IQUEUELOCK.acquire()
     TelnetHandlerBase.writemessage(self, text)
     self.IQUEUELOCK.release()
コード例 #2
0
ファイル: threaded.py プロジェクト: fabregas/fabnet
 def writemessage(self, text):
     """Put data in output queue, rebuild the prompt and entered data"""
     # Need to grab the input queue lock to ensure the entered data doesn't change
     # before we're done rebuilding it.
     # Note that writemessage will eventually call writecooked
     self.IQUEUELOCK.acquire()
     TelnetHandlerBase.writemessage(self, text)
     self.IQUEUELOCK.release()
コード例 #3
0
ファイル: green.py プロジェクト: ITh4cker/telnetsrvlib
    def setup(self):
        '''Called after instantiation'''
        TelnetHandlerBase.setup(self)
        # Spawn a greenlet to handle socket input
        self.greenlet_ic = gevent.spawn(self.inputcooker)
        # Note that inputcooker exits on EOF

        # Sleep for 0.5 second to allow options negotiation
        gevent.sleep(0.5)
コード例 #4
0
ファイル: evtlet.py プロジェクト: 4sp1r3/hontel
    def setup(self):
        '''Called after instantiation'''
        TelnetHandlerBase.setup(self)
        # Spawn a greenlet to handle socket input
        self.greenlet_ic = eventlet.spawn(self.inputcooker)
        # Note that inputcooker exits on EOF

        # Sleep for 0.5 second to allow options negotiation
        eventlet.sleep(0.5)
コード例 #5
0
ファイル: threaded.py プロジェクト: fabregas/fabnet
    def __init__(self, request, client_address, server):
        # This is the cooked input stream (list of charcodes)
        self.cookedq = []   

        # Create the locks for handing the input/output queues
        self.IQUEUELOCK = threading.Lock()
        self.OQUEUELOCK = threading.Lock()

        # Call the base class init method
        TelnetHandlerBase.__init__(self, request, client_address, server)
コード例 #6
0
ファイル: threaded.py プロジェクト: yd0str/hontel
    def __init__(self, request, client_address, server):
        # This is the cooked input stream (list of charcodes)
        self.cookedq = []

        # Create the locks for handing the input/output queues
        self.IQUEUELOCK = threading.Lock()
        self.OQUEUELOCK = threading.Lock()

        # Call the base class init method
        TelnetHandlerBase.__init__(self, request, client_address, server)
コード例 #7
0
ファイル: threaded.py プロジェクト: fabregas/fabnet
 def setup(self):
     '''Called after instantiation'''
     TelnetHandlerBase.setup(self)
     # Spawn a thread to handle socket input
     self.thread_ic = threading.Thread(target=self.inputcooker)
     self.thread_ic.setDaemon(True)
     self.thread_ic.start()
     # Note that inputcooker exits on EOF
     
     # Sleep for 0.5 second to allow options negotiation
     time.sleep(0.5)
コード例 #8
0
ファイル: threaded.py プロジェクト: yd0str/hontel
    def setup(self):
        '''Called after instantiation'''
        TelnetHandlerBase.setup(self)
        # Spawn a thread to handle socket input
        self.thread_ic = threading.Thread(target=self.inputcooker)
        self.thread_ic.setDaemon(True)
        self.thread_ic.start()
        # Note that inputcooker exits on EOF

        # Sleep for 0.5 second to allow options negotiation
        time.sleep(0.5)
コード例 #9
0
ファイル: threaded.py プロジェクト: fabregas/fabnet
 def writecooked(self, text):
     """Put data directly into the output queue"""
     # Ensure this is the only thread writing
     self.OQUEUELOCK.acquire()
     TelnetHandlerBase.writecooked(self, text)
     self.OQUEUELOCK.release()
コード例 #10
0
ファイル: threaded.py プロジェクト: fabregas/fabnet
 def finish(self):
     '''Called as the session is ending'''
     TelnetHandlerBase.finish(self)
コード例 #11
0
ファイル: green.py プロジェクト: ITh4cker/telnetsrvlib
 def finish(self):
     '''Called as the session is ending'''
     TelnetHandlerBase.finish(self)
     # Ensure the greenlet is dead
     gevent.kill(self.greenlet_ic)
コード例 #12
0
ファイル: green.py プロジェクト: ITh4cker/telnetsrvlib
 def __init__(self, request, client_address, server):
     # Create a green queue for input handling
     self.cookedq = gevent.queue.Queue()
     # Call the base class init method
     TelnetHandlerBase.__init__(self, request, client_address, server)
コード例 #13
0
ファイル: evtlet.py プロジェクト: 4sp1r3/hontel
 def __init__(self, request, client_address, server):
     # Create a green queue for input handling
     self.cookedq = eventlet.queue.Queue()
     # Call the base class init method
     TelnetHandlerBase.__init__(self, request, client_address, server)
コード例 #14
0
ファイル: evtlet.py プロジェクト: 4sp1r3/hontel
 def finish(self):
     '''Called as the session is ending'''
     TelnetHandlerBase.finish(self)
     # Ensure the greenlet is dead
     self.greenlet_ic.kill()
コード例 #15
0
ファイル: threaded.py プロジェクト: yd0str/hontel
 def writecooked(self, text):
     """Put data directly into the output queue"""
     # Ensure this is the only thread writing
     self.OQUEUELOCK.acquire()
     TelnetHandlerBase.writecooked(self, text)
     self.OQUEUELOCK.release()
コード例 #16
0
ファイル: threaded.py プロジェクト: yd0str/hontel
 def finish(self):
     '''Called as the session is ending'''
     TelnetHandlerBase.finish(self)