1
2
3
5 """
6 Remote method callable.
7 """
9 """Use transport to call method"""
10 if basename.startswith("_"):
11 raise AttributeError("invalid attribute '%s'" % name)
12 self.__transport = transport
13 self.__basename = basename
15 """Allow sub-names a.b.c"""
16 if name.startswith("_"):
17 raise AttributeError("invalid attribute '%s'" % name)
18 return _Method(self.__transport,".".join([self.__basename,name]))
20 """Perform call"""
21 return self._transport(self.__basename, args, kw)
23 """
24 Proxy for remote procedure call,
25 """
27 """
28 Marshall the call over the wire to the remote procedure.
29
30 Subclasses must implement this.
31 """
32 raise NotImplementedError
34 return _Method(self._transport, method)
35