mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			128 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
	
		
			3.5 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| \chapter{Amoeba Specific Services}
 | |
| 
 | |
| \section{Built-in Module \sectcode{amoeba}}
 | |
| 
 | |
| \bimodindex{amoeba}
 | |
| This module provides some object types and operations useful for
 | |
| Amoeba applications.  It is only available on systems that support
 | |
| Amoeba operations.  RPC errors and other Amoeba errors are reported as
 | |
| the exception \code{amoeba.error = 'amoeba.error'}.
 | |
| 
 | |
| The module \code{amoeba} defines the following items:
 | |
| 
 | |
| \renewcommand{\indexsubitem}{(in module amoeba)}
 | |
| \begin{funcdesc}{name_append}{path\, cap}
 | |
| Stores a capability in the Amoeba directory tree.
 | |
| Arguments are the pathname (a string) and the capability (a capability
 | |
| object as returned by
 | |
| \code{name_lookup()}).
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{name_delete}{path}
 | |
| Deletes a capability from the Amoeba directory tree.
 | |
| Argument is the pathname.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{name_lookup}{path}
 | |
| Looks up a capability.
 | |
| Argument is the pathname.
 | |
| Returns a
 | |
| \dfn{capability}
 | |
| object, to which various interesting operations apply, described below.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{name_replace}{path\, cap}
 | |
| Replaces a capability in the Amoeba directory tree.
 | |
| Arguments are the pathname and the new capability.
 | |
| (This differs from
 | |
| \code{name_append()}
 | |
| in the behavior when the pathname already exists:
 | |
| \code{name_append()}
 | |
| finds this an error while
 | |
| \code{name_replace()}
 | |
| allows it, as its name suggests.)
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{datadesc}{capv}
 | |
| A table representing the capability environment at the time the
 | |
| interpreter was started.
 | |
| (Alas, modifying this table does not affect the capability environment
 | |
| of the interpreter.)
 | |
| For example,
 | |
| \code{amoeba.capv['ROOT']}
 | |
| is the capability of your root directory, similar to
 | |
| \code{getcap("ROOT")}
 | |
| in C.
 | |
| \end{datadesc}
 | |
| 
 | |
| \begin{excdesc}{error}
 | |
| The exception raised when an Amoeba function returns an error.
 | |
| The value accompanying this exception is a pair containing the numeric
 | |
| error code and the corresponding string, as returned by the C function
 | |
| \code{err_why()}.
 | |
| \end{excdesc}
 | |
| 
 | |
| \begin{funcdesc}{timeout}{msecs}
 | |
| Sets the transaction timeout, in milliseconds.
 | |
| Returns the previous timeout.
 | |
| Initially, the timeout is set to 2 seconds by the Python interpreter.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \subsection{Capability Operations}
 | |
| 
 | |
| Capabilities are written in a convenient \ASCII{} format, also used by the
 | |
| Amoeba utilities
 | |
| \emph{c2a}(U)
 | |
| and
 | |
| \emph{a2c}(U).
 | |
| For example:
 | |
| 
 | |
| \bcode\begin{verbatim}
 | |
| >>> amoeba.name_lookup('/profile/cap')
 | |
| aa:1c:95:52:6a:fa/14(ff)/8e:ba:5b:8:11:1a
 | |
| >>> 
 | |
| \end{verbatim}\ecode
 | |
| %
 | |
| The following methods are defined for capability objects.
 | |
| 
 | |
| \renewcommand{\indexsubitem}{(capability method)}
 | |
| \begin{funcdesc}{dir_list}{}
 | |
| Returns a list of the names of the entries in an Amoeba directory.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{b_read}{offset\, maxsize}
 | |
| Reads (at most)
 | |
| \var{maxsize}
 | |
| bytes from a bullet file at offset
 | |
| \var{offset.}
 | |
| The data is returned as a string.
 | |
| EOF is reported as an empty string.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{b_size}{}
 | |
| Returns the size of a bullet file.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{dir_append}{}
 | |
| \funcline{dir_delete}{}\ 
 | |
| \funcline{dir_lookup}{}\ 
 | |
| \funcline{dir_replace}{}
 | |
| Like the corresponding
 | |
| \samp{name_}*
 | |
| functions, but with a path relative to the capability.
 | |
| (For paths beginning with a slash the capability is ignored, since this
 | |
| is the defined semantics for Amoeba.)
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{std_info}{}
 | |
| Returns the standard info string of the object.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{tod_gettime}{}
 | |
| Returns the time (in seconds since the Epoch, in UCT, as for POSIX) from
 | |
| a time server.
 | |
| \end{funcdesc}
 | |
| 
 | |
| \begin{funcdesc}{tod_settime}{t}
 | |
| Sets the time kept by a time server.
 | |
| \end{funcdesc}
 | 
