~pythonregexp2.7/python/issue2636-12

« back to all changes in this revision

Viewing changes to Lib/idlelib/rpc.py

  • Committer: Jeffrey C. "The TimeHorse" Jacobs
  • Date: 2008-06-09 14:52:42 UTC
  • mfrom: (39033.1.3 Regexp-2.6)
  • Revision ID: darklord@timehorse.com-20080609145242-9m268zc6u87rp1vp
Merged in changes from the core Regexp branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
has only one client per server, this was not a limitation.
6
6
 
7
7
   +---------------------------------+ +-------------+
8
 
   | socketserver.BaseRequestHandler | | SocketIO    |
 
8
   | SocketServer.BaseRequestHandler | | SocketIO    |
9
9
   +---------------------------------+ +-------------+
10
10
                   ^                   | register()  |
11
11
                   |                   | unregister()|
31
31
import os
32
32
import socket
33
33
import select
34
 
import socketserver
 
34
import SocketServer
35
35
import struct
36
36
import cPickle as pickle
37
37
import threading
38
 
import queue
 
38
import Queue
39
39
import traceback
40
40
import copy_reg
41
41
import types
66
66
BUFSIZE = 8*1024
67
67
LOCALHOST = '127.0.0.1'
68
68
 
69
 
class RPCServer(socketserver.TCPServer):
 
69
class RPCServer(SocketServer.TCPServer):
70
70
 
71
71
    def __init__(self, addr, handlerclass=None):
72
72
        if handlerclass is None:
73
73
            handlerclass = RPCHandler
74
 
        socketserver.TCPServer.__init__(self, addr, handlerclass)
 
74
        SocketServer.TCPServer.__init__(self, addr, handlerclass)
75
75
 
76
76
    def server_bind(self):
77
77
        "Override TCPServer method, no bind() phase for connecting entity"
117
117
#----------------- end class RPCServer --------------------
118
118
 
119
119
objecttable = {}
120
 
request_queue = queue.Queue(0)
121
 
response_queue = queue.Queue(0)
 
120
request_queue = Queue.Queue(0)
 
121
response_queue = Queue.Queue(0)
122
122
 
123
123
 
124
124
class SocketIO(object):
413
413
            # send queued response if there is one available
414
414
            try:
415
415
                qmsg = response_queue.get(0)
416
 
            except queue.Empty:
 
416
            except Queue.Empty:
417
417
                pass
418
418
            else:
419
419
                seq, response = qmsg
492
492
    def __init__(self, oid):
493
493
        self.oid = oid
494
494
 
495
 
class RPCHandler(socketserver.BaseRequestHandler, SocketIO):
 
495
class RPCHandler(SocketServer.BaseRequestHandler, SocketIO):
496
496
 
497
497
    debugging = False
498
498
    location = "#S"  # Server
500
500
    def __init__(self, sock, addr, svr):
501
501
        svr.current_handler = self ## cgt xxx
502
502
        SocketIO.__init__(self, sock)
503
 
        socketserver.BaseRequestHandler.__init__(self, sock, addr, svr)
 
503
        SocketServer.BaseRequestHandler.__init__(self, sock, addr, svr)
504
504
 
505
505
    def handle(self):
506
 
        "handle() method required by socketserver"
 
506
        "handle() method required by SocketServer"
507
507
        self.mainloop()
508
508
 
509
509
    def get_remote_proxy(self, oid):