The xcat Reference Manual

This is the xcat Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 18:18:30 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 xcat

XCAT mass LAN big file distributor

Author

Jesse Off <>

License

MIT

Version

0.0.1

Dependencies
  • flexi-streams (system).
  • bordeaux-threads (system).
  • trivial-garbage (system).
  • log4cl (system).
  • usocket-server (system).
  • cl-ppcre (system).
  • trivial-features (system).
Source

xcat.asd.

Child Components

3 Files

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


3.1 Lisp


3.1.1 xcat/xcat.asd

Source

xcat.asd.

Parent Component

xcat (system).

ASDF Systems

xcat.


3.1.2 xcat/package.lisp

Source

xcat.asd.

Parent Component

xcat (system).

Packages

xcat.


3.1.3 xcat/fifo.lisp

Dependency

package.lisp (file).

Source

xcat.asd.

Parent Component

xcat (system).

Internals

3.1.4 xcat/xcatd.lisp

Dependency

fifo.lisp (file).

Source

xcat.asd.

Parent Component

xcat (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 xcat

Source

package.lisp.

Use List
  • common-lisp.
  • flexi-streams.
  • usocket.
Public Interface
Internals

5 Definitions

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


5.1 Public Interface


5.1.1 Special variables

Special Variable: *xcat-broadcast-ip*
Package

xcat.

Source

xcatd.lisp.


5.1.2 Ordinary functions

Function: xcatd (&key root background)
Package

xcat.

Source

xcatd.lisp.


5.1.3 Generic functions

Generic Function: xcat (path output)
Package

xcat.

Source

xcatd.lisp.

Methods
Method: xcat (path (out-file pathname))
Method: xcat (path (out-stream stream))
Method: xcat (path (out-function function))

5.2 Internals


5.2.1 Constants

Constant: +max-array-size+
Package

xcat.

Source

xcatd.lisp.

Constant: +xcatd-max-xfrs+
Package

xcat.

Source

xcatd.lisp.

Constant: +xcatd-xfr-timeout-sec+
Package

xcat.

Source

xcatd.lisp.


5.2.2 Special variables

Special Variable: *xcat-chunks*
Package

xcat.

Source

xcatd.lisp.

Special Variable: *xcat-helpout-thread*
Package

xcat.

Source

xcatd.lisp.

Special Variable: *xcat-helpout-xfr-thread*
Package

xcat.

Source

xcatd.lisp.

Special Variable: *xcat-lock*
Package

xcat.

Source

xcatd.lisp.

Special Variable: *xcat-prefetcher-thread*
Package

xcat.

Source

xcatd.lisp.

Special Variable: *xcat-prev-chunks*
Package

xcat.

Source

xcatd.lisp.

Special Variable: *xcatd-chunks*
Package

xcat.

Source

xcatd.lisp.

Special Variable: *xcatd-directory*
Package

xcat.

Source

xcatd.lisp.

Special Variable: *xcatd-lock*
Package

xcat.

Source

xcatd.lisp.

Special Variable: *xcatd-remotes*
Package

xcat.

Source

xcatd.lisp.


5.2.3 Macros

Macro: fifo-get! (f)

Removes and returns object from fifo. If fifo becomes empty, struct is destroyed, i.e. setf nil

Package

xcat.

Source

fifo.lisp.

Macro: fifo-put! (f obj)

Adds obj to fifo, instantiating new fifo struct if necessary. Returns new count of fifo

Package

xcat.

Source

fifo.lisp.

Macro: log-but-retry-errors-after-delay (&body body)
Package

xcat.

Source

xcatd.lisp.

Macro: log-errors (&body body)
Package

xcat.

Source

xcatd.lisp.

Macro: return-errors (&body body)
Package

xcat.

Source

xcatd.lisp.


5.2.4 Ordinary functions

Function: bufs-length (bufs)
Package

xcat.

Source

xcatd.lisp.

Function: copy-fifo (instance)
Package

xcat.

Source

fifo.lisp.

Function: ensure-cached (chunk &optional megabytes)
Package

xcat.

Source

xcatd.lisp.

Function: fifo-count (f)
Package

xcat.

Source

fifo.lisp.

Reader: fifo-data (instance)
Writer: (setf fifo-data) (instance)
Package

xcat.

Source

fifo.lisp.

Target Slot

data.

Function: fifo-endp (f)
Package

xcat.

Source

fifo.lisp.

Function: fifo-head (f)
Package

xcat.

Source

fifo.lisp.

Reader: fifo-n (instance)
Writer: (setf fifo-n) (instance)
Package

xcat.

Source

fifo.lisp.

Target Slot

n.

Function: fifo-p (object)
Package

xcat.

Source

fifo.lisp.

Reader: fifo-tail (instance)
Writer: (setf fifo-tail) (instance)
Package

xcat.

Source

fifo.lisp.

Target Slot

tail.

Function: file-read-chunk (xcat-req-string)

Reads 16Mbyte chunk. Stores result in a weak hash table for cacheing. Returns a list of octet vectors– first is the reply header w/checksum, next are the file buf(s).

Package

xcat.

Source

xcatd.lisp.

Function: make-bufs (nbytes)

Makes list of arrays for when nbytes is greater than +max-array-size+

Package

xcat.

Source

xcatd.lisp.

Function: make-fifo (&key data tail n)
Package

xcat.

Source

fifo.lisp.

Function: net-read-chunk (xcat-req-string)

Broadcasts requests for files via XCAT. Returns cons of two octet vectors– car is the resp header, cdr is the verified datablock(s).

Package

xcat.

Source

xcatd.lisp.

Function: read-into (bufs stream)

read-sequence into a list of bufs, returning multiple values of filled bufs and total size

Package

xcat.

Source

xcatd.lisp.

Function: sum-bufs (bufs)
Package

xcat.

Source

xcatd.lisp.

Function: xcat-broadcast-handler (buf)
Package

xcat.

Source

xcatd.lisp.

Function: xcat-prefetch (xcat-req-string)

Starts a nonblocking background request for the xcat-req-string chunk.

Package

xcat.

Source

xcatd.lisp.

Function: xcat-req (xcat-req-string)

Requests XCAT chunk, possibly from a prefetch or from the chunk cache hash table.

Package

xcat.

Source

xcatd.lisp.

Function: xcatd-broadcast-handler (buf)
Package

xcat.

Source

xcatd.lisp.


5.2.5 Structures

Structure: fifo
Package

xcat.

Source

fifo.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: data
Type

list

Readers

fifo-data.

Writers

(setf fifo-data).

Slot: tail
Type

list

Readers

fifo-tail.

Writers

(setf fifo-tail).

Slot: n
Type

fixnum

Initform

0

Readers

fifo-n.

Writers

(setf fifo-n).


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
B   C   E   F   G   L   M   N   R   S   X  
Index Entry  Section

(
(setf fifo-data): Private ordinary functions
(setf fifo-n): Private ordinary functions
(setf fifo-tail): Private ordinary functions

B
bufs-length: Private ordinary functions

C
copy-fifo: Private ordinary functions

E
ensure-cached: Private ordinary functions

F
fifo-count: Private ordinary functions
fifo-data: Private ordinary functions
fifo-endp: Private ordinary functions
fifo-get!: Private macros
fifo-head: Private ordinary functions
fifo-n: Private ordinary functions
fifo-p: Private ordinary functions
fifo-put!: Private macros
fifo-tail: Private ordinary functions
file-read-chunk: Private ordinary functions
Function, (setf fifo-data): Private ordinary functions
Function, (setf fifo-n): Private ordinary functions
Function, (setf fifo-tail): Private ordinary functions
Function, bufs-length: Private ordinary functions
Function, copy-fifo: Private ordinary functions
Function, ensure-cached: Private ordinary functions
Function, fifo-count: Private ordinary functions
Function, fifo-data: Private ordinary functions
Function, fifo-endp: Private ordinary functions
Function, fifo-head: Private ordinary functions
Function, fifo-n: Private ordinary functions
Function, fifo-p: Private ordinary functions
Function, fifo-tail: Private ordinary functions
Function, file-read-chunk: Private ordinary functions
Function, make-bufs: Private ordinary functions
Function, make-fifo: Private ordinary functions
Function, net-read-chunk: Private ordinary functions
Function, read-into: Private ordinary functions
Function, sum-bufs: Private ordinary functions
Function, xcat-broadcast-handler: Private ordinary functions
Function, xcat-prefetch: Private ordinary functions
Function, xcat-req: Private ordinary functions
Function, xcatd: Public ordinary functions
Function, xcatd-broadcast-handler: Private ordinary functions

G
Generic Function, xcat: Public generic functions

L
log-but-retry-errors-after-delay: Private macros
log-errors: Private macros

M
Macro, fifo-get!: Private macros
Macro, fifo-put!: Private macros
Macro, log-but-retry-errors-after-delay: Private macros
Macro, log-errors: Private macros
Macro, return-errors: Private macros
make-bufs: Private ordinary functions
make-fifo: Private ordinary functions
Method, xcat: Public generic functions
Method, xcat: Public generic functions
Method, xcat: Public generic functions

N
net-read-chunk: Private ordinary functions

R
read-into: Private ordinary functions
return-errors: Private macros

S
sum-bufs: Private ordinary functions

X
xcat: Public generic functions
xcat: Public generic functions
xcat: Public generic functions
xcat: Public generic functions
xcat-broadcast-handler: Private ordinary functions
xcat-prefetch: Private ordinary functions
xcat-req: Private ordinary functions
xcatd: Public ordinary functions
xcatd-broadcast-handler: Private ordinary functions


A.3 Variables

Jump to:   *   +  
C   D   N   S   T  
Index Entry  Section

*
*xcat-broadcast-ip*: Public special variables
*xcat-chunks*: Private special variables
*xcat-helpout-thread*: Private special variables
*xcat-helpout-xfr-thread*: Private special variables
*xcat-lock*: Private special variables
*xcat-prefetcher-thread*: Private special variables
*xcat-prev-chunks*: Private special variables
*xcatd-chunks*: Private special variables
*xcatd-directory*: Private special variables
*xcatd-lock*: Private special variables
*xcatd-remotes*: Private special variables

+
+max-array-size+: Private constants
+xcatd-max-xfrs+: Private constants
+xcatd-xfr-timeout-sec+: Private constants

C
Constant, +max-array-size+: Private constants
Constant, +xcatd-max-xfrs+: Private constants
Constant, +xcatd-xfr-timeout-sec+: Private constants

D
data: Private structures

N
n: Private structures

S
Slot, data: Private structures
Slot, n: Private structures
Slot, tail: Private structures
Special Variable, *xcat-broadcast-ip*: Public special variables
Special Variable, *xcat-chunks*: Private special variables
Special Variable, *xcat-helpout-thread*: Private special variables
Special Variable, *xcat-helpout-xfr-thread*: Private special variables
Special Variable, *xcat-lock*: Private special variables
Special Variable, *xcat-prefetcher-thread*: Private special variables
Special Variable, *xcat-prev-chunks*: Private special variables
Special Variable, *xcatd-chunks*: Private special variables
Special Variable, *xcatd-directory*: Private special variables
Special Variable, *xcatd-lock*: Private special variables
Special Variable, *xcatd-remotes*: Private special variables

T
tail: Private structures