| 1 | """RPC Client module."""
|
|---|
| 2 |
|
|---|
| 3 | import sys
|
|---|
| 4 | import socket
|
|---|
| 5 | import pickle
|
|---|
| 6 | import __builtin__
|
|---|
| 7 | import os
|
|---|
| 8 |
|
|---|
| 9 |
|
|---|
| 10 | # Default verbosity (0 = silent, 1 = print connections, 2 = print requests too)
|
|---|
| 11 | VERBOSE = 1
|
|---|
| 12 |
|
|---|
| 13 |
|
|---|
| 14 | class Client:
|
|---|
| 15 |
|
|---|
| 16 | """RPC Client class. No need to derive a class -- it's fully generic."""
|
|---|
| 17 |
|
|---|
| 18 | def __init__(self, address, verbose = VERBOSE):
|
|---|
| 19 | self._pre_init(address, verbose)
|
|---|
| 20 | self._post_init()
|
|---|
| 21 |
|
|---|
| 22 | def _pre_init(self, address, verbose = VERBOSE):
|
|---|
| 23 | if type(address) == type(0):
|
|---|
| 24 | address = ('', address)
|
|---|
| 25 | self._address = address
|
|---|
| 26 | self._verbose = verbose
|
|---|
| 27 | if self._verbose: print "Connecting to %s ..." % repr(address)
|
|---|
| 28 | self._socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|---|
| 29 | self._socket.connect(address)
|
|---|
| 30 | if self._verbose: print "Connected."
|
|---|
|
|---|