The lfarm-gss Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The lfarm-gss Reference Manual

This is the lfarm-gss Reference Manual, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 12:05:01 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

lfarm

lfarm is a Common Lisp library for distributing work across machines using the [lparallel] (http://lparallel.org) API.

Download

The easiest way to obtain lfarm is through Quicklisp. Alternatively, one may clone the repository.

Synopsis

In lparallel a kernel was defined as abstract entity that schedules and executes tasks. lparallel implements it with a thread pool, while in lfarm it is implemented with a set of servers that execute tasks.

;; Create two servers bound to ports 11111 and 22222.
(ql:quickload :lfarm-server)
(lfarm-server:start-server "127.0.0.1" 11111 :background t)
(lfarm-server:start-server "127.0.0.1" 22222 :background t)

;; Connect to the servers. `lfarm' is a package nickname for `lfarm-client'.
(ql:quickload :lfarm-client)
(setf lfarm:*kernel* (lfarm:make-kernel '(("127.0.0.1" 11111)
                                          ("127.0.0.1" 22222))))

;; Use the lparallel API.
(defpackage :example (:use :cl :lfarm))
(in-package :example)

(let ((channel (make-channel)))
  (submit-task channel #'+ 3 4)
  (receive-result channel))
;; => 7

(let ((f (future (+ 3 4))))
  (force f))
;; => 7

(plet ((x (+ 3 4))
       (y (+ 5 6)))
  (+ x y))
;; => 18

(pmapcar '1+ #(1 2 3))         ; => (2 3 4)
(pmapcar #'1+ #(1 2 3))        ; => (2 3 4)
(preduce '+ #(1 2 3))          ; => 6
(pmap-reduce '1+ '+ #(1 2 3))  ; => 9

Although the servers in this example are local, lfarm servers may run in separate Lisp instances on remote machines.

Tasks

There are some restrictions on a task slated for remote execution. A task must be

  1. a lambda form, or
  2. a function that exists on the remote servers, or
  3. a function defined with deftask.

deftask is just like defun except the function definition is recorded. (A Lisp implementation may record a function definition, but is not required to do so.)

(deftask add (x y)
  (+ x y))

(let ((channel (make-channel)))
  (submit-task channel #'add 3 4)
  (receive-result channel))
;; => 7

submit-task notices that add was defined with deftask and converts it to a named lambda before submitting it to a server.

To define add remotely use broadcast-task, which executes a given task on all servers.

(broadcast-task (lambda () (defun add (x y) (+ x y))))

Or more likely add would be part of a system that is loaded on all servers.

(broadcast-task #'ql:quickload :my-stuff)

Limited support for closures is available on SBCL, CCL, LispWorks, and Allegro. Lexical variables and symbol macrolets are captured, but lexical functions (flet, labels) are not.

Tasks are not macroexpanded in order to ensure portability across clients and servers.

API

The lfarm-client system defines the lfarm-client package which has the nickname lfarm. It exports the lparallel kernel API with the following differences.

Promises and a limited number of cognates are also available, found in the packages lfarm-client.promise and lfarm-client.cognate respectively and also exported by lfarm-client.

The systems lfarm-server and lfarm-admin provide the following functions.

Security

The purpose of an lfarm server is to execute arbitrary code, so it is highly advised to enable some form of security. lfarm directly supports Kerberos (or Active Directory) authentication. Alternatively, SSH tunnels may be used.

Security with SSH tunneling

;; On the remote machine
(ql:quickload :lfarm-server)
(lfarm-server:start-server "127.0.0.1" 33333)

To create a tunnel,

# On the local machine
$ ssh -f -L 33333:127.0.0.1:33333 <remote-address> -N

The remote server should now be accessible locally.

;; On the local machine
(ql:quickload :lfarm-admin)
(lfarm-admin:ping "127.0.0.1" 33333) ;=> T

Of course there is still local security to consider, as local users on both ends have access to the server. If this is a concern then a packet filtering tool such as iptables may be used.

Security with Kerberos/GSSAPI

The lfarm-gss system provides support for GSSAPI authentication. The :auth argument to lfarm-server:start-server and lfarm-client:make-kernel accepts an instance of lfarm-gss:gss-auth-server and lfarm-gss:gss-auth-client respectively.

When creating a server, the class lfarm-gss:gss-auth-server accepts the initialization keyword :service-name. This value is indicats which service type should be used when requesting a ticket for the remote service. The default is lfarm. In other words, if an attempt is done to connect to the server at server.example.com, the service principal will be lfarm/server.example.com.

When creating a kernel (client), the class lfarm-gss:gss-auth-client accepts the initialization keyword :allowed-users which specifies a list of all users that are allowed to connect to the server. Each element should be a string representing the principal name (including realm) of the user that is allowed to connect. For example: user@EXAMPLE.COM.

If a more complex authorization mechanism is needed which is not covered by the simple user list as described above, you can subclass the gss-auth-server class and then implement the method lfarm-gss:name-accepted on your new class. This generic function takes two arguments, the authentication object and the name to be verified, and should return non-NIL if the user is allowed to connect. Note that the name is an instance of cl-gss:name, and you need to call the function cl-gss:name-to-string on it to extract the actual name.

The server needs to have access to the service principal in a keytab file. How to create the keytab file depends on your Kerberos server implementation:

Once you have the keytab file, you have to make sure that it is loaded. The easiest way to do this is to simply call CL-GSS:KRB5-REGISTER-ACCEPTOR-IDENTITY and pass in the name of the keytab file.

The other way is to make sure the environment variable KRB5_KTNAME is set to the path of the keytab file and that it is readable by the lfarm server instance.

If the keytab file has not been loaded, the server will fail to authenticate and you will get a security error when the client attempts to connect to the server.

Details

That covers perhaps all you need to know about lfarm. Those who are curious may read on (or not).

Serialization

Serialization is done with cl-store. It uses a portable serialization format, allowing lfarm clients and servers to run on different Lisp implementations.

Packages

A symbol is deserialized on the remote server with its home package intact. If the server encounters a symbol whose package does not exist, an empty version of the package is automatically generated.

Connection errors

The lfarm client is obstinate with regards to connections: if there is a connection error then it tries to reconnect, and will continue trying. We may therefore restart servers while using the same kernel instance, or call make-kernel before any servers exist (the call will block until they do).

Note it is possible for a task to be executed twice (or more). If a connection error occurs in the time interval after a task has been submitted and before its result has been received, the client will attempt to submit the task again.

submit-task

In lparallel submit-task is a function, but in lfarm it is a macro that provides syntactic sugar for the function submit-task*.

(submit-task channel #'+ 3 4)
;; =macroexpand=> (SUBMIT-TASK* CHANNEL '+ 3 4)

(submit-task channel (lambda (x) (1+ x)) 3)
;; =macroexpand=> (SUBMIT-TASK* CHANNEL '(LAMBDA (X) (1+ X)) 3)

submit-task may alter the task argument before giving it to submit-task*, which expects a symbol or a lambda form. Sharp-quote is replaced with quote, and a lambda form gets quoted. This provides a semblance with lparallel:submit-task and relieves us from having to write '(lambda ...) and 'f in place of (lambda ...) and #'f.

Logging

Verbose logging is enabled by binding lfarm-common:*log-level* to :info (default is :error). The log stream is lfarm-common:*log-stream* (default is *debug-io*).

Tests

The lfarm test suite assumes a working ssh executable is present and that passwordless authorization has been set up for "ssh localhost". To run it load the lfarm-test system and call lfarm-test:execute, which may be given some configuration options. Unrecognized Lisp implementations will require configuration (namely, specifying the lisp executable and the command-line switch to eval a form). Tests also assume that Quicklisp has been installed (but not necessarily loaded), although configuration may remove this assumption.

Implementation

The client has an internal lparallel kernel in which each worker thread manages a connection to an assigned remote server, one worker per server. When a worker connects to a server, the server enters a task execution loop wherein a form is deserialized, maybe compiled, and funcalled; repeat. A server may serve multiple clients.

Though an async backend is possible, this threaded implementation was chosen because it was easy and portable.

Opportunities for optimization in the realm of remote task queues and remote task stealing have been callously ignored. Task queues are local.

Author

James M. Lawrence llmjjmll@gmail.com

Kerberos support by Elias Martenson lokedhs@gmail.com


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

The main system appears first, followed by any subsystem dependency.


Next: , Previous: , Up: Systems   [Contents][Index]

2.1 lfarm-gss

Author

Elias Martenson <lokedhs@gmail.com>

License

BSD

Description

GSS-API support for lfarm

Dependencies
Source

lfarm-gss.asd (file)

Component

lfarm-gss (module)


Previous: , Up: Systems   [Contents][Index]

2.2 lfarm-common

Author

James M. Lawrence <llmjjmll@gmail.com>

License

BSD

Description

(private) Common components of lfarm, a library for distributing work across machines.

Long Description

See http://github.com/lmj/lfarm

Version

0.1.0

Dependencies
Source

lfarm-common.asd (file)

Component

lfarm-common (module)


Next: , Previous: , Up: Top   [Contents][Index]

3 Modules

Modules are listed depth-first from the system components tree.


Next: , Previous: , Up: Modules   [Contents][Index]

3.1 lfarm-gss/lfarm-gss

Parent

lfarm-gss (system)

Location

lfarm-gss/

Components

Previous: , Up: Modules   [Contents][Index]

3.2 lfarm-common/lfarm-common

Parent

lfarm-common (system)

Location

lfarm-common/

Components

Next: , Previous: , Up: Top   [Contents][Index]

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.1 lfarm-gss.asd

Location

lfarm-gss.asd

Systems

lfarm-gss (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.2 lfarm-common.asd

Location

lfarm-common.asd

Systems

lfarm-common (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.3 lfarm-gss/lfarm-gss/packages.lisp

Parent

lfarm-gss (module)

Location

lfarm-gss/packages.lisp

Packages

lfarm-gss


Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.4 lfarm-gss/lfarm-gss/wrapper-stream.lisp

Dependency

packages.lisp (file)

Parent

lfarm-gss (module)

Location

lfarm-gss/wrapper-stream.lisp

Exported Definitions

wrapper-stream (class)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.5 lfarm-gss/lfarm-gss/lfarm-gss.lisp

Dependency

wrapper-stream.lisp (file)

Parent

lfarm-gss (module)

Location

lfarm-gss/lfarm-gss.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.6 lfarm-common/lfarm-common/package.lisp

Parent

lfarm-common (module)

Location

lfarm-common/package.lisp

Packages

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.7 lfarm-common/lfarm-common/error.lisp

Dependency

package.lisp (file)

Parent

lfarm-common (module)

Location

lfarm-common/error.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.8 lfarm-common/lfarm-common/util.lisp

Dependency

error.lisp (file)

Parent

lfarm-common (module)

Location

lfarm-common/util.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.9 lfarm-common/lfarm-common/unwind-protect.lisp

Dependency

util.lisp (file)

Parent

lfarm-common (module)

Location

lfarm-common/unwind-protect.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.10 lfarm-common/lfarm-common/defwith.lisp

Dependency

unwind-protect.lisp (file)

Parent

lfarm-common (module)

Location

lfarm-common/defwith.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.11 lfarm-common/lfarm-common/log.lisp

Dependency

defwith.lisp (file)

Parent

lfarm-common (module)

Location

lfarm-common/log.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.12 lfarm-common/lfarm-common/address.lisp

Dependency

log.lisp (file)

Parent

lfarm-common (module)

Location

lfarm-common/address.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.13 lfarm-common/lfarm-common/binary-serializer.lisp

Dependency

address.lisp (file)

Parent

lfarm-common (module)

Location

lfarm-common/binary-serializer.lisp

Exported Definitions

*element-type* (special variable)

Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.14 lfarm-common/lfarm-common/data-transport.lisp

Dependency

binary-serializer.lisp (file)

Parent

lfarm-common (module)

Location

lfarm-common/data-transport.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.15 lfarm-common/lfarm-common/default-data-transport.lisp

Dependency

data-transport.lisp (file)

Parent

lfarm-common (module)

Location

lfarm-common/default-data-transport.lisp

Exported Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

4.1.16 lfarm-common/lfarm-common/socket.lisp

Dependency

default-data-transport.lisp (file)

Parent

lfarm-common (module)

Location

lfarm-common/socket.lisp

Exported Definitions
Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

4.1.17 lfarm-common/lfarm-common/object-transport.lisp

Dependency

socket.lisp (file)

Parent

lfarm-common (module)

Location

lfarm-common/object-transport.lisp

Exported Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 lfarm-gss

Source

packages.lisp (file)

Use List

common-lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Packages   [Contents][Index]

5.2 lfarm-common

(private) Common components for lfarm.

Source

package.lisp (file)

Use List
Exported Definitions
Internal Definitions

Previous: , Up: Packages   [Contents][Index]

5.3 lfarm-common.data-transport

Source

package.lisp (file)

Use List

common-lisp

Used By List

lfarm-common

Exported Definitions

Next: , Previous: , Up: Top   [Contents][Index]

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.1 Constants

Constant: +corrupt-stream-flag+
Package

lfarm-common

Source

socket.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.2 Special variables

Special Variable: *auth*
Package

lfarm-common

Source

socket.lisp (file)

Special Variable: *connect-retry-interval*
Package

lfarm-common

Source

socket.lisp (file)

Special Variable: *element-type*
Package

lfarm-common

Source

binary-serializer.lisp (file)

Special Variable: *log-level*

Set to :error to log only errors; set to :info for verbosity.

Package

lfarm-common

Source

log.lisp (file)

Special Variable: *log-stream*

Stream for logging.

Package

lfarm-common

Source

log.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.3 Macros

Macro: alias-function ALIAS ORIG
Package

lfarm-common

Source

util.lisp (file)

Macro: alias-macro ALIAS ORIG
Package

lfarm-common

Source

util.lisp (file)

Macro: bad &rest ARGS
Package

lfarm-common

Source

log.lisp (file)

Macro: defwith MACRO-NAME LAMBDA-LIST &body BODY

Define a function along with a macro that expands to a call of that function. Inside ‘defwith’ is an flet named ‘call-body’.

(defwith with-foo (value)
(let ((*foo* value))
(call-body)))

is equivalent to

(defun call-with-foo (body-fn value)
(let ((*foo* value))
(funcall body-fn)))

(defmacro with-foo ((value) &body body)
‘(call-with-foo (lambda () ,@body) ,value))

Placing a ‘:vars’ form at the head of the lambda list will generate a macro that assigns to the given variables.

(defwith with-add-result ((:vars result) x y)
(call-body (+ x y)))

is equivalent to

(defun call-with-add-result (body-fn x y)
(funcall body-fn (+ x y)))

(defmacro with-add-result ((result x y) &body body) ‘(call-with-add-result (lambda (,result) ,@body) ,x ,y))

Package

lfarm-common

Source

defwith.lisp (file)

Macro: dosequence (VAR SEQUENCE &optional RETURN) &body BODY
Package

lfarm-common

Source

util.lisp (file)

Macro: info &rest ARGS
Package

lfarm-common

Source

log.lisp (file)

Macro: repeat N &body BODY
Package

lfarm-common

Source

util.lisp (file)

Macro: unwind-protect/safe &key PREPARE MAIN CLEANUP ABORT

Interrupt-safe ‘unwind-protect’.

‘prepare’ : executed first, outside of ‘unwind-protect’ ‘main’ : protected form
‘cleanup’ : cleanup form
‘abort’ : executed if ‘main’ does not finish

Package

lfarm-common

Source

unwind-protect.lisp (file)

Macro: unwind-protect/safe-bind &key BIND MAIN CLEANUP ABORT

Bind a variable inside ‘unwind-protect’ with interrupt safety.

Package

lfarm-common

Source

unwind-protect.lisp (file)

Macro: with-connected-socket (SOCKET-VAR SOCKET-VALUE) &body BODY24
Package

lfarm-common

Source

socket.lisp (file)

Macro: with-connected-stream (STREAM-VAR SOCKET-VALUE) &body BODY24
Package

lfarm-common

Source

socket.lisp (file)

Macro: with-each-address (HOST PORT ADDRESSES) &body BODY29
Package

lfarm-common

Source

address.lisp (file)

Macro: with-each-address/handle-error (HOST PORT ADDRESSES FN-NAME) &body BODY32
Package

lfarm-common

Source

address.lisp (file)

Macro: with-errors-logged &body BODY
Package

lfarm-common

Source

log.lisp (file)

Macro: with-lock-predicate/wait LOCK PREDICATE &body BODY
Package

lfarm-common

Source

util.lisp (file)

Macro: with-tag RETRY-TAG &body BODY

For those of us who forget RETURN-FROM inside TAGBODY.

Package

lfarm-common

Source

util.lisp (file)

Macro: with-timeout (TIMEOUT) &body BODY
Package

lfarm-common

Source

util.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.4 Functions

Function: deserialize-buffer BUFFER
Package

lfarm-common

Source

object-transport.lisp (file)

Function: ensure-addresses ADDRESSES
Package

lfarm-common

Source

address.lisp (file)

Function: lambda-list-parameters LAMBDA-LIST &key DISCARD-AUX
Package

lfarm-common

Source

defwith.lisp (file)

Function: make-task-error-data ERR
Package

lfarm-common

Source

error.lisp (file)

Function: receive-object STREAM
Package

lfarm-common

Source

object-transport.lisp (file)

Function: receive-serialized-buffer STREAM
Package

lfarm-common

Source

object-transport.lisp (file)

Function: send-object OBJECT STREAM
Package

lfarm-common

Source

object-transport.lisp (file)

Function: serialize-to-buffer OBJECT
Package

lfarm-common

Source

object-transport.lisp (file)

Function: socket-accept SOCKET
Package

lfarm-common

Source

socket.lisp (file)

Function: socket-close SOCKET
Package

lfarm-common

Source

socket.lisp (file)

Function: socket-connect HOST PORT
Package

lfarm-common

Source

socket.lisp (file)

Function: socket-connect/retry HOST PORT &key TIMEOUT
Package

lfarm-common

Source

socket.lisp (file)

Function: socket-listen HOST PORT
Package

lfarm-common

Source

socket.lisp (file)

Function: task-error-data-desc INSTANCE
Function: (setf task-error-data-desc) VALUE INSTANCE
Package

lfarm-common

Source

error.lisp (file)

Function: task-error-data-report INSTANCE
Function: (setf task-error-data-report) VALUE INSTANCE
Package

lfarm-common

Source

error.lisp (file)

Function: unsplice FORM
Package

lfarm-common

Source

defwith.lisp (file)

Function: wait-for-input SOCKET &key TIMEOUT
Package

lfarm-common

Source

socket.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.5 Generic functions

Generic Function: initialize-client-stream AUTH STREAM SERVER-NAME

Initialize a client-side stream connected to server named ‘server-name’. Return a new stream or the same stream.

Package

lfarm-common.data-transport

Source

data-transport.lisp (file)

Methods
Method: initialize-client-stream (AUTH gss-auth-client) STREAM SERVER-NAME
Source

lfarm-gss.lisp (file)

Method: initialize-client-stream AUTH STREAM SERVER-NAME
Generic Function: initialize-server-stream AUTH STREAM

Initialize a server-side stream. Return a new stream or the same stream.

Package

lfarm-common.data-transport

Source

data-transport.lisp (file)

Methods
Method: initialize-server-stream (AUTH gss-auth-server) STREAM
Source

lfarm-gss.lisp (file)

Method: initialize-server-stream AUTH STREAM
Generic Function: receive-buffer AUTH STREAM

Receive a (unsigned-byte 8) vector from a stream.

Package

lfarm-common.data-transport

Source

data-transport.lisp (file)

Methods
Method: receive-buffer (AUTH gss-auth-mixin) STREAM
Source

lfarm-gss.lisp (file)

Method: receive-buffer AUTH STREAM
Source

default-data-transport.lisp (file)

Generic Function: send-buffer AUTH BUFFER STREAM

Send a (unsigned-byte 8) vector over a stream.

Package

lfarm-common.data-transport

Source

data-transport.lisp (file)

Methods
Method: send-buffer (AUTH gss-auth-mixin) BUFFER STREAM
Source

lfarm-gss.lisp (file)

Method: send-buffer AUTH BUFFER STREAM
Source

default-data-transport.lisp (file)

Generic Function: socket-stream OBJECT
Package

lfarm-common

Methods
Method: socket-stream (STREAMING-SOCKET streaming-socket)

automatically generated reader method

Source

socket.lisp (file)

Generic Function: stream-close AUTH STREAM

Callback for when the stream is closed.

Package

lfarm-common.data-transport

Source

data-transport.lisp (file)

Methods
Method: stream-close AUTH STREAM

Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.6 Conditions

Condition: auth-error ()

Raise this error or a subclass thereof when auth fails.

Package

lfarm-common.data-transport

Source

data-transport.lisp (file)

Direct superclasses

error (condition)

Condition: corrupted-stream-error ()
Package

lfarm-common

Source

error.lisp (file)

Direct superclasses

stream-error (condition)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

6.1.7 Structures

Structure: task-error-data ()
Package

lfarm-common

Source

error.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: report
Type

string

Readers

task-error-data-report (function)

Writers

(setf task-error-data-report) (function)

Slot: desc
Type

string

Readers

task-error-data-desc (function)

Writers

(setf task-error-data-desc) (function)


Previous: , Up: Exported definitions   [Contents][Index]

6.1.8 Classes

Class: gss-auth-client ()
Package

lfarm-gss

Source

lfarm-gss.lisp (file)

Direct superclasses

gss-auth-mixin (class)

Direct methods
Direct slots
Slot: service-name
Type

string

Initargs

:service-name

Initform

"lfarm"

Readers

gss-auth-service-name (generic function)

Class: gss-auth-server ()
Package

lfarm-gss

Source

lfarm-gss.lisp (file)

Direct superclasses

gss-auth-mixin (class)

Direct methods
Direct slots
Slot: allowed-users
Type

list

Initargs

:allowed-users

Readers

gss-auth-allowed-users (generic function)

Writers

(setf gss-auth-allowed-users) (generic function)

Class: wrapper-stream ()
Package

lfarm-gss

Source

wrapper-stream.lisp (file)

Direct superclasses
  • fundamental-binary-output-stream (class)
  • fundamental-binary-input-stream (class)
  • trivial-gray-stream-mixin (class)
Direct methods
Direct slots
Slot: delegate
Initargs

:delegate

Initform

(error "~s is a required argument for class ~s" :delegate (quote lfarm-gss:wrapper-stream))

Readers

wrapper-stream-delegate (generic function)

Slot: context
Initargs

:context

Initform

(error "~s is a required argument for class ~s" :context (quote lfarm-gss:wrapper-stream))

Readers

wrapper-stream-context (generic function)

Slot: description
Type

string

Initargs

:description

Initform

""

Readers

wrapper-stream-description (generic function)


Previous: , Up: Definitions   [Contents][Index]

6.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.1 Special variables

Special Variable: *log-lock*
Package

lfarm-common

Source

log.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.2 Macros

Macro: define-with-fn MACRO-NAME FN-NAME LAMBDA-LIST DECLARES BODY
Package

lfarm-common

Source

defwith.lisp (file)

Macro: define-with-macro MACRO-NAME FN-NAME LAMBDA-LIST VARS DOC
Package

lfarm-common

Source

defwith.lisp (file)

Macro: flet-alias (NAME FN) &body BODY
Package

lfarm-common

Source

defwith.lisp (file)

Macro: with-interrupts &body BODY
Package

lfarm-common

Source

unwind-protect.lisp (file)

Macro: without-interrupts &body BODY
Package

lfarm-common

Source

unwind-protect.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.3 Functions

Function: %make-task-error-data &key (REPORT REPORT) (DESC DESC)
Package

lfarm-common

Source

error.lisp (file)

Function: %socket-connect/retry HOST PORT TIMEOUT
Package

lfarm-common

Source

socket.lisp (file)

Function: backend-deserialize STREAM
Package

lfarm-common

Source

binary-serializer.lisp (file)

Function: backend-serialize OBJECT STREAM
Package

lfarm-common

Source

binary-serializer.lisp (file)

Function: bad-address THING
Package

lfarm-common

Source

address.lisp (file)

Function: call-with-connected-socket BODY-FN0 SOCKET-VALUE
Package

lfarm-common

Source

socket.lisp (file)

Function: call-with-connected-stream BODY-FN0 SOCKET-VALUE
Package

lfarm-common

Source

socket.lisp (file)

Function: call-with-each-address BODY-FN0 ADDRESSES
Package

lfarm-common

Source

address.lisp (file)

Function: call-with-each-address/handle-error BODY-FN0 ADDRESSES FN-NAME
Package

lfarm-common

Source

address.lisp (file)

Function: copy-task-error-data INSTANCE
Package

lfarm-common

Source

error.lisp (file)

Function: ensure-address ADDRESS
Package

lfarm-common

Source

address.lisp (file)

Function: expiredp START TIMEOUT
Package

lfarm-common

Source

util.lisp (file)

Function: get-time ()
Package

lfarm-common

Source

util.lisp (file)

Function: make-socket USOCKET
Package

lfarm-common

Source

socket.lisp (file)

Function: make-streaming-client-socket USOCKET SERVER-NAME
Package

lfarm-common

Source

socket.lisp (file)

Function: make-streaming-server-socket USOCKET
Package

lfarm-common

Source

socket.lisp (file)

Function: make-streaming-socket INIT-FN USOCKET &rest ARGS
Package

lfarm-common

Source

socket.lisp (file)

Function: read-with-length STREAM &key LENGTH
Package

lfarm-gss

Source

lfarm-gss.lisp (file)

Function: strip-aux LAMBDA-LIST
Package

lfarm-common

Source

defwith.lisp (file)

Function: task-error-data-p OBJECT
Package

lfarm-common

Source

error.lisp (file)

Function: timestamp ()
Package

lfarm-common

Source

log.lisp (file)

Function: translate-error ERR
Package

lfarm-common

Source

binary-serializer.lisp (file)

Function: write-log LEVEL PACKAGE &rest ARGS
Package

lfarm-common

Source

log.lisp (file)

Function: write-with-length BUFFER STREAM &key LENGTH
Package

lfarm-gss

Source

lfarm-gss.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

6.2.4 Generic functions

Generic Function: gss-auth-allowed-users OBJECT
Generic Function: (setf gss-auth-allowed-users) NEW-VALUE OBJECT
Package

lfarm-gss

Methods
Method: gss-auth-allowed-users (GSS-AUTH-SERVER gss-auth-server)

automatically generated reader method

Source

lfarm-gss.lisp (file)

Method: (setf gss-auth-allowed-users) NEW-VALUE (GSS-AUTH-SERVER gss-auth-server)

automatically generated writer method

Source

lfarm-gss.lisp (file)

Generic Function: gss-auth-service-name OBJECT
Package

lfarm-gss

Methods
Method: gss-auth-service-name (GSS-AUTH-CLIENT gss-auth-client)

automatically generated reader method

Source

lfarm-gss.lisp (file)

Generic Function: name-accepted AUTH NAME
Package

lfarm-gss

Source

lfarm-gss.lisp (file)

Methods
Method: name-accepted (AUTH gss-auth-server) NAME
Generic Function: usocket OBJECT
Package

lfarm-common

Methods
Method: usocket (SOCKET socket)

automatically generated reader method

Source

socket.lisp (file)

Generic Function: wrapper-stream-context OBJECT
Package

lfarm-gss

Methods
Method: wrapper-stream-context (WRAPPER-STREAM wrapper-stream)

automatically generated reader method

Source

wrapper-stream.lisp (file)

Generic Function: wrapper-stream-delegate OBJECT
Package

lfarm-gss

Methods
Method: wrapper-stream-delegate (WRAPPER-STREAM wrapper-stream)

automatically generated reader method

Source

wrapper-stream.lisp (file)

Generic Function: wrapper-stream-description OBJECT
Package

lfarm-gss

Methods
Method: wrapper-stream-description (WRAPPER-STREAM wrapper-stream)

automatically generated reader method

Source

wrapper-stream.lisp (file)


Previous: , Up: Internal definitions   [Contents][Index]

6.2.5 Classes

Class: gss-auth-mixin ()
Package

lfarm-gss

Source

lfarm-gss.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Class: socket ()
Package

lfarm-common

Source

socket.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses

streaming-socket (class)

Direct methods

usocket (method)

Direct slots
Slot: usocket
Initargs

:usocket

Readers

usocket (generic function)

Class: streaming-socket ()
Package

lfarm-common

Source

socket.lisp (file)

Direct superclasses

socket (class)

Direct methods

socket-stream (method)

Direct slots
Slot: stream
Initargs

:stream

Readers

socket-stream (generic function)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   L   M  
Index Entry  Section

F
File, Lisp, lfarm-common.asd: The lfarm-common<dot>asd file
File, Lisp, lfarm-common/lfarm-common/address.lisp: The lfarm-common/lfarm-common/address<dot>lisp file
File, Lisp, lfarm-common/lfarm-common/binary-serializer.lisp: The lfarm-common/lfarm-common/binary-serializer<dot>lisp file
File, Lisp, lfarm-common/lfarm-common/data-transport.lisp: The lfarm-common/lfarm-common/data-transport<dot>lisp file
File, Lisp, lfarm-common/lfarm-common/default-data-transport.lisp: The lfarm-common/lfarm-common/default-data-transport<dot>lisp file
File, Lisp, lfarm-common/lfarm-common/defwith.lisp: The lfarm-common/lfarm-common/defwith<dot>lisp file
File, Lisp, lfarm-common/lfarm-common/error.lisp: The lfarm-common/lfarm-common/error<dot>lisp file
File, Lisp, lfarm-common/lfarm-common/log.lisp: The lfarm-common/lfarm-common/log<dot>lisp file
File, Lisp, lfarm-common/lfarm-common/object-transport.lisp: The lfarm-common/lfarm-common/object-transport<dot>lisp file
File, Lisp, lfarm-common/lfarm-common/package.lisp: The lfarm-common/lfarm-common/package<dot>lisp file
File, Lisp, lfarm-common/lfarm-common/socket.lisp: The lfarm-common/lfarm-common/socket<dot>lisp file
File, Lisp, lfarm-common/lfarm-common/unwind-protect.lisp: The lfarm-common/lfarm-common/unwind-protect<dot>lisp file
File, Lisp, lfarm-common/lfarm-common/util.lisp: The lfarm-common/lfarm-common/util<dot>lisp file
File, Lisp, lfarm-gss.asd: The lfarm-gss<dot>asd file
File, Lisp, lfarm-gss/lfarm-gss/lfarm-gss.lisp: The lfarm-gss/lfarm-gss/lfarm-gss<dot>lisp file
File, Lisp, lfarm-gss/lfarm-gss/packages.lisp: The lfarm-gss/lfarm-gss/packages<dot>lisp file
File, Lisp, lfarm-gss/lfarm-gss/wrapper-stream.lisp: The lfarm-gss/lfarm-gss/wrapper-stream<dot>lisp file

L
lfarm-common.asd: The lfarm-common<dot>asd file
lfarm-common/lfarm-common: The lfarm-common/lfarm-common module
lfarm-common/lfarm-common/address.lisp: The lfarm-common/lfarm-common/address<dot>lisp file
lfarm-common/lfarm-common/binary-serializer.lisp: The lfarm-common/lfarm-common/binary-serializer<dot>lisp file
lfarm-common/lfarm-common/data-transport.lisp: The lfarm-common/lfarm-common/data-transport<dot>lisp file
lfarm-common/lfarm-common/default-data-transport.lisp: The lfarm-common/lfarm-common/default-data-transport<dot>lisp file
lfarm-common/lfarm-common/defwith.lisp: The lfarm-common/lfarm-common/defwith<dot>lisp file
lfarm-common/lfarm-common/error.lisp: The lfarm-common/lfarm-common/error<dot>lisp file
lfarm-common/lfarm-common/log.lisp: The lfarm-common/lfarm-common/log<dot>lisp file
lfarm-common/lfarm-common/object-transport.lisp: The lfarm-common/lfarm-common/object-transport<dot>lisp file
lfarm-common/lfarm-common/package.lisp: The lfarm-common/lfarm-common/package<dot>lisp file
lfarm-common/lfarm-common/socket.lisp: The lfarm-common/lfarm-common/socket<dot>lisp file
lfarm-common/lfarm-common/unwind-protect.lisp: The lfarm-common/lfarm-common/unwind-protect<dot>lisp file
lfarm-common/lfarm-common/util.lisp: The lfarm-common/lfarm-common/util<dot>lisp file
lfarm-gss.asd: The lfarm-gss<dot>asd file
lfarm-gss/lfarm-gss: The lfarm-gss/lfarm-gss module
lfarm-gss/lfarm-gss/lfarm-gss.lisp: The lfarm-gss/lfarm-gss/lfarm-gss<dot>lisp file
lfarm-gss/lfarm-gss/packages.lisp: The lfarm-gss/lfarm-gss/packages<dot>lisp file
lfarm-gss/lfarm-gss/wrapper-stream.lisp: The lfarm-gss/lfarm-gss/wrapper-stream<dot>lisp file
Lisp File, lfarm-common.asd: The lfarm-common<dot>asd file
Lisp File, lfarm-common/lfarm-common/address.lisp: The lfarm-common/lfarm-common/address<dot>lisp file
Lisp File, lfarm-common/lfarm-common/binary-serializer.lisp: The lfarm-common/lfarm-common/binary-serializer<dot>lisp file
Lisp File, lfarm-common/lfarm-common/data-transport.lisp: The lfarm-common/lfarm-common/data-transport<dot>lisp file
Lisp File, lfarm-common/lfarm-common/default-data-transport.lisp: The lfarm-common/lfarm-common/default-data-transport<dot>lisp file
Lisp File, lfarm-common/lfarm-common/defwith.lisp: The lfarm-common/lfarm-common/defwith<dot>lisp file
Lisp File, lfarm-common/lfarm-common/error.lisp: The lfarm-common/lfarm-common/error<dot>lisp file
Lisp File, lfarm-common/lfarm-common/log.lisp: The lfarm-common/lfarm-common/log<dot>lisp file
Lisp File, lfarm-common/lfarm-common/object-transport.lisp: The lfarm-common/lfarm-common/object-transport<dot>lisp file
Lisp File, lfarm-common/lfarm-common/package.lisp: The lfarm-common/lfarm-common/package<dot>lisp file
Lisp File, lfarm-common/lfarm-common/socket.lisp: The lfarm-common/lfarm-common/socket<dot>lisp file
Lisp File, lfarm-common/lfarm-common/unwind-protect.lisp: The lfarm-common/lfarm-common/unwind-protect<dot>lisp file
Lisp File, lfarm-common/lfarm-common/util.lisp: The lfarm-common/lfarm-common/util<dot>lisp file
Lisp File, lfarm-gss.asd: The lfarm-gss<dot>asd file
Lisp File, lfarm-gss/lfarm-gss/lfarm-gss.lisp: The lfarm-gss/lfarm-gss/lfarm-gss<dot>lisp file
Lisp File, lfarm-gss/lfarm-gss/packages.lisp: The lfarm-gss/lfarm-gss/packages<dot>lisp file
Lisp File, lfarm-gss/lfarm-gss/wrapper-stream.lisp: The lfarm-gss/lfarm-gss/wrapper-stream<dot>lisp file

M
Module, lfarm-common/lfarm-common: The lfarm-common/lfarm-common module
Module, lfarm-gss/lfarm-gss: The lfarm-gss/lfarm-gss module

Jump to:   F   L   M  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   I   L   M   N   R   S   T   U   W  
Index Entry  Section

%
%make-task-error-data: Internal functions
%socket-connect/retry: Internal functions

(
(setf gss-auth-allowed-users): Internal generic functions
(setf gss-auth-allowed-users): Internal generic functions
(setf task-error-data-desc): Exported functions
(setf task-error-data-report): Exported functions

A
alias-function: Exported macros
alias-macro: Exported macros

B
backend-deserialize: Internal functions
backend-serialize: Internal functions
bad: Exported macros
bad-address: Internal functions

C
call-with-connected-socket: Internal functions
call-with-connected-stream: Internal functions
call-with-each-address: Internal functions
call-with-each-address/handle-error: Internal functions
copy-task-error-data: Internal functions

D
define-with-fn: Internal macros
define-with-macro: Internal macros
defwith: Exported macros
deserialize-buffer: Exported functions
dosequence: Exported macros

E
ensure-address: Internal functions
ensure-addresses: Exported functions
expiredp: Internal functions

F
flet-alias: Internal macros
Function, %make-task-error-data: Internal functions
Function, %socket-connect/retry: Internal functions
Function, (setf task-error-data-desc): Exported functions
Function, (setf task-error-data-report): Exported functions
Function, backend-deserialize: Internal functions
Function, backend-serialize: Internal functions
Function, bad-address: Internal functions
Function, call-with-connected-socket: Internal functions
Function, call-with-connected-stream: Internal functions
Function, call-with-each-address: Internal functions
Function, call-with-each-address/handle-error: Internal functions
Function, copy-task-error-data: Internal functions
Function, deserialize-buffer: Exported functions
Function, ensure-address: Internal functions
Function, ensure-addresses: Exported functions
Function, expiredp: Internal functions
Function, get-time: Internal functions
Function, lambda-list-parameters: Exported functions
Function, make-socket: Internal functions
Function, make-streaming-client-socket: Internal functions
Function, make-streaming-server-socket: Internal functions
Function, make-streaming-socket: Internal functions
Function, make-task-error-data: Exported functions
Function, read-with-length: Internal functions
Function, receive-object: Exported functions
Function, receive-serialized-buffer: Exported functions
Function, send-object: Exported functions
Function, serialize-to-buffer: Exported functions
Function, socket-accept: Exported functions
Function, socket-close: Exported functions
Function, socket-connect: Exported functions
Function, socket-connect/retry: Exported functions
Function, socket-listen: Exported functions
Function, strip-aux: Internal functions
Function, task-error-data-desc: Exported functions
Function, task-error-data-p: Internal functions
Function, task-error-data-report: Exported functions
Function, timestamp: Internal functions
Function, translate-error: Internal functions
Function, unsplice: Exported functions
Function, wait-for-input: Exported functions
Function, write-log: Internal functions
Function, write-with-length: Internal functions

G
Generic Function, (setf gss-auth-allowed-users): Internal generic functions
Generic Function, gss-auth-allowed-users: Internal generic functions
Generic Function, gss-auth-service-name: Internal generic functions
Generic Function, initialize-client-stream: Exported generic functions
Generic Function, initialize-server-stream: Exported generic functions
Generic Function, name-accepted: Internal generic functions
Generic Function, receive-buffer: Exported generic functions
Generic Function, send-buffer: Exported generic functions
Generic Function, socket-stream: Exported generic functions
Generic Function, stream-close: Exported generic functions
Generic Function, usocket: Internal generic functions
Generic Function, wrapper-stream-context: Internal generic functions
Generic Function, wrapper-stream-delegate: Internal generic functions
Generic Function, wrapper-stream-description: Internal generic functions
get-time: Internal functions
gss-auth-allowed-users: Internal generic functions
gss-auth-allowed-users: Internal generic functions
gss-auth-service-name: Internal generic functions
gss-auth-service-name: Internal generic functions

I
info: Exported macros
initialize-client-stream: Exported generic functions
initialize-client-stream: Exported generic functions
initialize-client-stream: Exported generic functions
initialize-server-stream: Exported generic functions
initialize-server-stream: Exported generic functions
initialize-server-stream: Exported generic functions

L
lambda-list-parameters: Exported functions

M
Macro, alias-function: Exported macros
Macro, alias-macro: Exported macros
Macro, bad: Exported macros
Macro, define-with-fn: Internal macros
Macro, define-with-macro: Internal macros
Macro, defwith: Exported macros
Macro, dosequence: Exported macros
Macro, flet-alias: Internal macros
Macro, info: Exported macros
Macro, repeat: Exported macros
Macro, unwind-protect/safe: Exported macros
Macro, unwind-protect/safe-bind: Exported macros
Macro, with-connected-socket: Exported macros
Macro, with-connected-stream: Exported macros
Macro, with-each-address: Exported macros
Macro, with-each-address/handle-error: Exported macros
Macro, with-errors-logged: Exported macros
Macro, with-interrupts: Internal macros
Macro, with-lock-predicate/wait: Exported macros
Macro, with-tag: Exported macros
Macro, with-timeout: Exported macros
Macro, without-interrupts: Internal macros
make-socket: Internal functions
make-streaming-client-socket: Internal functions
make-streaming-server-socket: Internal functions
make-streaming-socket: Internal functions
make-task-error-data: Exported functions
Method, (setf gss-auth-allowed-users): Internal generic functions
Method, gss-auth-allowed-users: Internal generic functions
Method, gss-auth-service-name: Internal generic functions
Method, initialize-client-stream: Exported generic functions
Method, initialize-client-stream: Exported generic functions
Method, initialize-server-stream: Exported generic functions
Method, initialize-server-stream: Exported generic functions
Method, name-accepted: Internal generic functions
Method, receive-buffer: Exported generic functions
Method, receive-buffer: Exported generic functions
Method, send-buffer: Exported generic functions
Method, send-buffer: Exported generic functions
Method, socket-stream: Exported generic functions
Method, stream-close: Exported generic functions
Method, usocket: Internal generic functions
Method, wrapper-stream-context: Internal generic functions
Method, wrapper-stream-delegate: Internal generic functions
Method, wrapper-stream-description: Internal generic functions

N
name-accepted: Internal generic functions
name-accepted: Internal generic functions

R
read-with-length: Internal functions
receive-buffer: Exported generic functions
receive-buffer: Exported generic functions
receive-buffer: Exported generic functions
receive-object: Exported functions
receive-serialized-buffer: Exported functions
repeat: Exported macros

S
send-buffer: Exported generic functions
send-buffer: Exported generic functions
send-buffer: Exported generic functions
send-object: Exported functions
serialize-to-buffer: Exported functions
socket-accept: Exported functions
socket-close: Exported functions
socket-connect: Exported functions
socket-connect/retry: Exported functions
socket-listen: Exported functions
socket-stream: Exported generic functions
socket-stream: Exported generic functions
stream-close: Exported generic functions
stream-close: Exported generic functions
strip-aux: Internal functions

T
task-error-data-desc: Exported functions
task-error-data-p: Internal functions
task-error-data-report: Exported functions
timestamp: Internal functions
translate-error: Internal functions

U
unsplice: Exported functions
unwind-protect/safe: Exported macros
unwind-protect/safe-bind: Exported macros
usocket: Internal generic functions
usocket: Internal generic functions

W
wait-for-input: Exported functions
with-connected-socket: Exported macros
with-connected-stream: Exported macros
with-each-address: Exported macros
with-each-address/handle-error: Exported macros
with-errors-logged: Exported macros
with-interrupts: Internal macros
with-lock-predicate/wait: Exported macros
with-tag: Exported macros
with-timeout: Exported macros
without-interrupts: Internal macros
wrapper-stream-context: Internal generic functions
wrapper-stream-context: Internal generic functions
wrapper-stream-delegate: Internal generic functions
wrapper-stream-delegate: Internal generic functions
wrapper-stream-description: Internal generic functions
wrapper-stream-description: Internal generic functions
write-log: Internal functions
write-with-length: Internal functions

Jump to:   %   (  
A   B   C   D   E   F   G   I   L   M   N   R   S   T   U   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
A   C   D   R   S   U  
Index Entry  Section

*
*auth*: Exported special variables
*connect-retry-interval*: Exported special variables
*element-type*: Exported special variables
*log-level*: Exported special variables
*log-lock*: Internal special variables
*log-stream*: Exported special variables

+
+corrupt-stream-flag+: Exported constants

A
allowed-users: Exported classes

C
Constant, +corrupt-stream-flag+: Exported constants
context: Exported classes

D
delegate: Exported classes
desc: Exported structures
description: Exported classes

R
report: Exported structures

S
service-name: Exported classes
Slot, allowed-users: Exported classes
Slot, context: Exported classes
Slot, delegate: Exported classes
Slot, desc: Exported structures
Slot, description: Exported classes
Slot, report: Exported structures
Slot, service-name: Exported classes
Slot, stream: Internal classes
Slot, usocket: Internal classes
Special Variable, *auth*: Exported special variables
Special Variable, *connect-retry-interval*: Exported special variables
Special Variable, *element-type*: Exported special variables
Special Variable, *log-level*: Exported special variables
Special Variable, *log-lock*: Internal special variables
Special Variable, *log-stream*: Exported special variables
stream: Internal classes

U
usocket: Internal classes

Jump to:   *   +  
A   C   D   R   S   U  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   A   C   G   L   P   S   T   W  
Index Entry  Section

A
auth-error: Exported conditions

C
Class, gss-auth-client: Exported classes
Class, gss-auth-mixin: Internal classes
Class, gss-auth-server: Exported classes
Class, socket: Internal classes
Class, streaming-socket: Internal classes
Class, wrapper-stream: Exported classes
Condition, auth-error: Exported conditions
Condition, corrupted-stream-error: Exported conditions
corrupted-stream-error: Exported conditions

G
gss-auth-client: Exported classes
gss-auth-mixin: Internal classes
gss-auth-server: Exported classes

L
lfarm-common: The lfarm-common system
lfarm-common: The lfarm-common package
lfarm-common.data-transport: The lfarm-common<dot>data-transport package
lfarm-gss: The lfarm-gss system
lfarm-gss: The lfarm-gss package

P
Package, lfarm-common: The lfarm-common package
Package, lfarm-common.data-transport: The lfarm-common<dot>data-transport package
Package, lfarm-gss: The lfarm-gss package

S
socket: Internal classes
streaming-socket: Internal classes
Structure, task-error-data: Exported structures
System, lfarm-common: The lfarm-common system
System, lfarm-gss: The lfarm-gss system

T
task-error-data: Exported structures

W
wrapper-stream: Exported classes

Jump to:   A   C   G   L   P   S   T   W