[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/gnue-common/src GComm.py commdrivers/socke...
From: |
Jason Cater |
Subject: |
gnue/gnue-common/src GComm.py commdrivers/socke... |
Date: |
Wed, 28 Nov 2001 10:56:25 -0500 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Jason Cater <address@hidden> 01/11/28 10:56:25
Modified files:
gnue-common/src: GComm.py
gnue-common/src/commdrivers/sockets: CommDriver.py
Log message:
synching machines
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/GComm.py.diff?cvsroot=OldCVS&tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue-common/src/commdrivers/sockets/CommDriver.py.diff?cvsroot=OldCVS&tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: gnue/gnue-common/src/GComm.py
diff -u gnue/gnue-common/src/GComm.py:1.7 gnue/gnue-common/src/GComm.py:1.8
--- gnue/gnue-common/src/GComm.py:1.7 Wed Nov 7 23:20:12 2001
+++ gnue/gnue-common/src/GComm.py Wed Nov 28 10:56:25 2001
@@ -72,6 +72,12 @@
class InvalidAdapter(Error):
pass
+class AdapterInitializationError(Error):
+ pass
+
+class AdapterConfigurationError(AdapterInitializationError):
+ pass
+
class NoClientAdapter(Error):
pass
@@ -79,9 +85,6 @@
pass
class ProgrammingError(Error):
- pass
-
-class InvalidAdapter(ProgrammingError):
pass
class InvalidService(ProgrammingError):
Index: gnue/gnue-common/src/commdrivers/sockets/CommDriver.py
diff -u gnue/gnue-common/src/commdrivers/sockets/CommDriver.py:1.2
gnue/gnue-common/src/commdrivers/sockets/CommDriver.py:1.3
--- gnue/gnue-common/src/commdrivers/sockets/CommDriver.py:1.2 Mon Nov 26
15:35:10 2001
+++ gnue/gnue-common/src/commdrivers/sockets/CommDriver.py Wed Nov 28
10:56:25 2001
@@ -31,8 +31,18 @@
# (i.e., the client isn't designed to connect to, e.g., a PostgreSQL socket
# interface).
#
-# Client and server parameters:
+# Server parameters:
#
+# socket The filename of the file socket to create.
+# (e.g., /tmp/gnue/MyApp.socket)
+# host The hostname or IP address of the service
+# port The port that the service is located on.
+#
+# Note: If both socket and host,port are specified, then
+# both a sockets file and a TCP port are opened.
+#
+# Client parameters:
+#
# socket The filename of the file socket.
# (e.g., /tmp/gnue/MyApp.socket)
# ..or..
@@ -52,6 +62,7 @@
from gnue.common.commdrivers._helpers import ObjectLibrarian
from gnue.common.commdrivers import GCommBase
+from gnue.common import GComm
import string
import socket
@@ -66,28 +77,54 @@
try:
file = params['socket']
if not len(file):
+
raise KeyError
if not hasattr(socket, 'AF_UNIX'):
- print "-" * 78
- print "Your configuration references a file-based sockets connection."
- print "However, your operating system does not support file-based
sockets."
- print "-" * 78
- sys.exit()
+ raise GComm.AdapterConfigurationError, \
+ "Your configuration references a file-based sockets connection.\n" \
+ + "However, your operating system does not support file-based sockets."
+
+ self._location = file
+
+ try:
- self.__socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
- self.__socket.connect(file)
+ self.__socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+ self.__socket.connect(file)
+ except:
+ raise AdapterInitializationError, \
+ "Unable to initialize the requested socket located at %s" % \
+ (file)
+
except KeyError:
+
+ try:
+
+ host = params['host']
+ port = params['port']
+ self._location = "%s:%s" % (host, port)
+
+ self.__socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ self.__socket.connect((host, port))
- host = params['host']
- port = params['port']
+ except KeyError:
+ raise GComm.AdapterConfigurationError, \
+ "To use the sockets commdriver, you must specify either a sockets" \
+ + "\nfile or a host and port number. Please see documentation."
- self.__socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- self.__socket.connect((host, port))
+ except:
+ raise AdapterInitializationError, \
+ "Unable to initialize the requested socket located at %s:%s" % \
+ (host,port)
+ def __repr__(self):
+ return "<sockets.ClientAdapter [talking with %s] at %s>" % \
+ ( self._location, id(self) )
+
+
def requestService(self, service, params={}):
proxy = _ProxyObject(self, None,
servicer=self._server.__getattr__(service))
@@ -122,6 +159,9 @@
def __getattr__(self, attr):
self.__dict__[attr] = _ProxyObject(self._server, self, name=attr)
return self.__dict__[attr]
+
+ def __repr__(self):
+ return "<sockets.ProxyObject at %s>" % (id(self))
def __call__(self, *args, **params):
self._server.runMethod(self, args, params):
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/gnue-common/src GComm.py commdrivers/socke...,
Jason Cater <=