This is the depot Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Sep 15 05:02:12 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
depot
Protocol for transparent collections of files.
Yukari Hafner <shinmera@tymoon.eu>
Yukari Hafner <shinmera@tymoon.eu>
(GIT https://github.com/Shinmera/depot.git)
zlib
1.0.0
documentation-utils
(system).
trivial-features
(system).
trivial-gray-streams
(system).
package.lisp
(file).
conditions.lisp
(file).
protocol.lisp
(file).
pathname.lisp
(file).
documentation.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
depot/depot.asd
depot/package.lisp
depot/conditions.lisp
depot/protocol.lisp
depot/pathname.lisp
depot/documentation.lisp
depot/conditions.lisp
package.lisp
(file).
depot
(system).
attributes
(reader method).
depot-condition
(condition).
depot-full
(condition).
entry-already-exists
(condition).
entry-does-not-exist
(condition).
id
(reader method).
name
(reader method).
no-such-attribute
(condition).
no-such-entry
(condition).
not-a-depot
(condition).
object
(reader method).
operation
(reader method).
permission-denied
(condition).
read-invalidated
(condition).
transaction-aborted
(condition).
unsupported-operation
(condition).
write-conflict
(condition).
arg!
(function).
define-condition*
(macro).
depot/protocol.lisp
conditions.lisp
(file).
depot
(system).
abort
(generic function).
attribute
(generic function).
(setf attribute)
(generic function).
attributes
(generic function).
(setf attributes)
(generic function).
close
(method).
close
(method).
close
(method).
commit
(generic function).
define-realizer
(macro).
delete-entry
(generic function).
depot
(generic function).
depot
(class).
element-type
(generic reader).
ensure-depot
(generic function).
ensure-entry
(generic function).
entry
(generic function).
entry
(class).
entry*
(function).
entry-exists-p
(generic function).
entry-matches-p
(generic function).
id
(generic function).
index
(generic function).
(setf index)
(generic function).
input-transaction
(class).
list-entries
(generic function).
make-entry
(generic function).
open-entry
(generic function).
open-p
(generic function).
output-transaction
(class).
print-object
(method).
print-object
(method).
query-entries
(generic function).
query-entry
(generic function).
read-from
(generic function).
realize-entry
(generic function).
realizer
(class).
register-realizer
(function).
remove-realizer
(function).
size
(generic function).
stream-advance-to-column
(method).
stream-clear-input
(method).
stream-clear-output
(method).
(setf stream-file-position)
(method).
stream-file-position
(method).
stream-finish-output
(method).
stream-force-output
(method).
stream-fresh-line
(method).
stream-line-column
(method).
stream-listen
(method).
stream-peek-char
(method).
stream-read-byte
(method).
stream-read-char
(method).
stream-read-char-no-hang
(method).
stream-read-line
(method).
stream-read-sequence
(method).
stream-start-line-p
(method).
stream-terpri
(method).
stream-transaction
(class).
stream-unread-char
(method).
stream-write-byte
(method).
stream-write-char
(method).
stream-write-sequence
(method).
stream-write-string
(method).
target
(reader method).
to-stream
(generic function).
transaction
(reader method).
transaction
(class).
transaction-stream
(class).
with-depot
(macro).
with-open
(macro).
write-to
(generic function).
*entry-realizers*
(special variable).
transaction-binary-input-stream
(class).
transaction-binary-output-stream
(class).
transaction-character-input-stream
(class).
transaction-character-output-stream
(class).
transaction-input-stream
(class).
transaction-output-stream
(class).
unread
(reader method).
(setf unread)
(writer method).
depot/pathname.lisp
protocol.lisp
(file).
depot
(system).
*os-depot*
(special variable).
abort
(method).
attribute
(method).
attribute
(method).
attribute
(method).
attribute
(method).
attribute
(method).
attribute
(method).
attribute
(method).
(setf attribute)
(method).
attributes
(method).
attributes
(method).
attributes
(method).
attributes
(method).
attributes
(method).
(setf attributes)
(method).
commit
(method).
commit
(method).
delete-entry
(method).
delete-entry
(method).
depot
(method).
depot
(method).
depot
(reader method).
depot
(reader method).
depot
(method).
device
(class).
directory
(class).
ensure-depot
(method).
ensure-entry
(method).
entry
(method).
entry
(method).
entry-exists-p
(method).
entry-exists-p
(method).
entry-matches-p
(method).
file
(class).
file-read-transaction
(class).
file-write-transaction
(class).
from-pathname
(function).
host
(class).
id
(method).
id
(method).
id
(method).
id
(method).
id
(method).
list-entries
(method).
list-entries
(method).
list-entries
(method).
list-entries
(method).
make-entry
(method).
make-entry
(method).
make-load-form
(method).
make-load-form
(method).
open-entry
(method).
open-entry
(method).
open-entry
(method).
open-p
(method).
open-p
(method).
os-depot
(class).
print-object
(method).
print-object
(method).
query-entries
(method).
query-entries
(method).
query-entries
(method).
query-entry
(method).
query-entry
(method).
query-entry
(method).
realize-entry
(method).
to-pathname
(generic function).
directory-p
(function).
file-transaction
(class).
normalize-path-component
(function).
path-component-specific-p
(function).
timestamp
(reader method).
depot/documentation.lisp
pathname.lisp
(file).
depot
(system).
Packages are listed by definition order.
org.shirakumo.depot
common-lisp
.
*os-depot*
(special variable).
abort
(generic function).
attribute
(generic function).
(setf attribute)
(generic function).
attributes
(generic function).
(setf attributes)
(generic function).
commit
(generic function).
define-realizer
(macro).
delete-entry
(generic function).
depot
(generic function).
depot
(class).
depot-condition
(condition).
depot-full
(condition).
device
(class).
directory
(class).
element-type
(generic reader).
ensure-depot
(generic function).
ensure-entry
(generic function).
entry
(generic function).
entry
(class).
entry*
(function).
entry-already-exists
(condition).
entry-does-not-exist
(condition).
entry-exists-p
(generic function).
entry-matches-p
(generic function).
file
(class).
file-read-transaction
(class).
file-write-transaction
(class).
from-pathname
(function).
host
(class).
id
(generic function).
index
(generic function).
(setf index)
(generic function).
input-transaction
(class).
list-entries
(generic function).
make-entry
(generic function).
name
(generic reader).
no-such-attribute
(condition).
no-such-entry
(condition).
not-a-depot
(condition).
object
(generic reader).
open-entry
(generic function).
open-p
(generic function).
operation
(generic reader).
os-depot
(class).
output-transaction
(class).
permission-denied
(condition).
query-entries
(generic function).
query-entry
(generic function).
read-from
(generic function).
read-invalidated
(condition).
realize-entry
(generic function).
realizer
(class).
register-realizer
(function).
remove-realizer
(function).
size
(generic function).
stream-transaction
(class).
target
(generic reader).
to-pathname
(generic function).
to-stream
(generic function).
transaction
(generic reader).
transaction
(class).
transaction-aborted
(condition).
transaction-stream
(class).
unsupported-operation
(condition).
with-depot
(macro).
with-open
(macro).
write-conflict
(condition).
write-to
(generic function).
*entry-realizers*
(special variable).
arg!
(function).
define-condition*
(macro).
directory-p
(function).
file-transaction
(class).
normalize-path-component
(function).
path-component-specific-p
(function).
timestamp
(generic reader).
transaction-binary-input-stream
(class).
transaction-binary-output-stream
(class).
transaction-character-input-stream
(class).
transaction-character-output-stream
(class).
transaction-input-stream
(class).
transaction-output-stream
(class).
unread
(generic reader).
(setf unread)
(generic writer).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Contains the base depot for the operating system according to the implementation.
See OS-DEPOT
Define a new realizer.
This does the following:
If no class named NAME exists yet, it is defined as a subclass of
REALIZER. For each of the DISPATCHERS in the body it defines a method
on REALIZE-ENTRY, with the structure of each dispatcher being as
follows:
((var class) . body)
CLASS naming a class that the entry must be a subclass of, and VAR
being the variable to which the entry is bound. BODY being the forms
that are executed when a matching entry is being realised.
See REALIZER
See REGISTER-REALIZER
See REMOVE-REALIZER
See REALIZE-ENTRY
Macro to conveniently handle a transaction.
Will call OPEN-ENTRY on the passed arguments, bind the resulting
transaction to TRANSACTION, and evaluate the BODY. During execution of
the BODY, an ABORT restart is established. This restart will invoke
ABORT on the transaction object and exit the body.
If the body is executed to completion, the transaction is
COMMITTed. If the body should exit abnormally, the transaction is
ABORTed.
See OPEN-ENTRY
See ABORT
See COMMIT
See TRANSACTION
Resolves a chain of depot entries.
This is as if calling ENTRY on each passed ID and replacing the depot
with the result. The last depot is returned.
This is useful for hierarchical depots.
See ENTRY
Returns an entry corresponding to the given pathname.
This may signal an error of type NO-SUCH-ENTRY if the entry does not
exist.
If CREATE-DIRECTORIES is true, inexistent entries along the pathname’s
directories will be created. If it is :PRETEND (the default), then the
directories are not actually created on the filesystem, but instead
are virtual.
Returns a FILE or DIRECTORY.
See TO-PATHNAME
See FILE
See DIRECTORY
Register a realizer.
You can pass a symbol naming the class of a realizer, a realizer
subclass, or a realizer instance.
See REALIZER
See REMOVE-REALIZER
See DEFINE-REALIZER
Deregisters the realizer.
You can pass a symbol naming the class of a realizer, a realizer
subclass, or a realizer instance.
See REALIZER
See REGISTER-REALIZER
See DEFINE-REALIZER
Aborts the transaction and rolls back any changes it may have made.
The transaction is closed and any changes it may have made will be
discarded and thus will not be visible to READ transactions (present
or future), or other external processes interacting with the same
entry.
It is thus as if the transaction had never been opened in the first
place.
See OPEN-ENTRY
See TRANSACTION
file-write-transaction
) &key) ¶stream-transaction
) &key) ¶Accesses a single attribute of the entry.
Which attributes are available depend on the depot/entry used. The
only attribute that is required is the :ID attribute.
If the requested attribute does not exist, an error of type
NO-SUCH-ATTRIBUTE is signalled.
When setting this place, If the attribute cannot be changed, an error
of type PERMISSION-DENIED may be signalled.
See ENTRY
See ATTRIBUTES
pathname
)) ¶pathname
)) ¶Accesses a plist of attributes of the entry.
Which attributes are given depends on the depot/entry used. The only
attribute that is required is the :ID attribute. The following
attributes are nevertheless standardised in their purpose:
:NAME — The name of the entry. This excludes the type
extension of the path, if there is such a concept.
:TYPE — The content type of the entry as a string.
:VERSION — The version of the entry, in case versioning
information is kept.
:WRITE-DATE — The universal-time timestamp at which the entry was
last modified.
:AUTHOR — The user (as a string) that authored the entry.
:SIZE — The size of the readable data from the entry in
octets.
:COMMENT — An arbitrary human-readable string of metadata on
the entry.
:CRC-32 — The CRC-32 checksum of the entry’s contents as an
unsigned-byte 32.
When setting this place, only the attributes in the provided plist
should be changed. Attributes are not removed using this
method. Attributes other than the ones provided in the set plist may
change as well, however. Some attributes may also not be changed. If
an attribute cannot be changed, an error of type PERMISSION-DENIED may
be signalled.
See ENTRY
See ATTRIBUTE
pathname
)) ¶entry-already-exists
)) ¶pathname
)) ¶Commits the transaction and completes any pending operations.
If the underlying entry was created new, but in the meantime the same
entry was already created successfully, an error of type
ENTRY-ALREADY-EXISTS may be signalled.
If the underlying entry was deleted before the commit, an error of
type ENTRY-DOES-NOT-EXIST may be signalled.
If the underlying depot is full and cannot support the amount of data
to be committed, an error of type DEPOT-FULL may be signalled.
If the operating user lacks the permissions to complete the operation,
an error of type PERMISSION-DENIED may be signalled.
If another write was committed after this transaction was created, but
before this call to commit occurred, an error of type WRITE-CONFLICT
may be signalled for :OUTPUT transactions, or READ-INVALIDATED for
:INPUT transactions.
If the commit completes successfully, the transaction is closed and
the changes must become visible to new READ transactions, as well as
to other external processes interacting with the same entry.
See OPEN-ENTRY
See TRANSACTION
file-read-transaction
) &key) ¶file-write-transaction
) &key) ¶stream-transaction
) &key) ¶Deletes the entry from its depot.
If the depot does not support deleting an entry, an error of type
UNSUPPORTED-OPERATION is signalled.
If deleting the entry would violate security restrictions, an error of
type PERMISSION-DENIED is signalled.
If the entry does not exist (and thus cannot be deleted), an error of
type ENTRY-DOES-NOT-EXIST is signalled.
After an entry has been deleted, operating on it in any way leads to
undefined behaviour.
See ENTRY
Returns the depot the entry is a part of.
See ENTRY
See DEPOT
directory
)) ¶automatically generated reader method
pathname
)) ¶transaction
)) ¶automatically generated reader method
Attempts to convert the given object to a depot.
If this conversion should not be possible, an error of type
NOT-A-DEPOT is signalled.
If a DEPOT is passed, the depot is returned. If an ENTRY is passed,
the entry’s originating DEPOT is returned.
See ENTRY
See DEPOT
pathname
)) ¶pathname
) &rest attributes) ¶Returns the entry with the given ID from the depot.
If no such entry exists in the depot, a NO-SUCH-ENTRY error is
signalled.
See ENTRY
See DEPOT
Returns true if an entry with the given ID exists in the depot.
See DEPOT
Returns true if the entry matches the specified attribute query.
The available attributes are dependent on the entry and depot used.
If the requested attribute does not exist, an error of type
NO-SUCH-ATTRIBUTE may be signalled.
See ENTRY
pathname
) attribute value) ¶Returns the ID of the entry.
The ID uniquely identifies the entry within the depot.
See ENTRY
Accesses the index at which in the backing storage read or write operations are performed.
If the TRANSACTION was obtained through OPEN-ENTRY with the DIRECTION
set to :OUTPUT, and the index is set to an index higher than the
current index, the consequences are undefined.
See TRANSACTION
transaction-stream
)) ¶stream-transaction
)) ¶stream-transaction
)) ¶Returns a fresh list of all entries is the depot.
See ENTRY
See DEPOT
Creates a new entry in the depot.
If the depot does not support creating an entry, an error of type
UNSUPPORTED-OPERATION is signalled.
If the depot is full and no further entries can be created due to
storage constraints, an error of type DEPOT-FULL is signalled.
If creating a new entry with the requested attributes would overwrite an existing entry, an error of type ENTRY-ALREADY-EXISTS is signalled.
If creating the requested entry would violate security restrictions,
an error of type PERMISSION-DENIED is signalled.
The attributes that can be passed as keyword arguments are entirely
dependent on the depot.
Depending on the depot, calling MAKE-ENTRY may not persist the entry
yet, and may only do so once the entry has been written to. As such,
an entry created with this function may not immediately be returned by
LIST-ENTRIES, QUERY-ENTRIES, and so forth.
See DEPOT
See UNSUPPORTED-OPERATION
See DEPOT-FULL
See ENTRY-ALREADY-EXISTS
See PERMISSION-DENIED
Returns the name of the attribute.
See NO-SUCH-ATTRIBUTE
no-such-attribute
)) ¶name
.
Returns the object that the condition relates to.
See DEPOT-CONDITION
depot-condition
)) ¶Open the entry for a read or write transaction.
Returns a live TRANSACTION instance.
DIRECTION must be either :INPUT or :OUTPUT.
ELEMENT-TYPE must be a valid type that the entry supports. The set of
supported element types must in the very least include
(UNSIGNED-BYTE 8) and CHARACTER.
Depending on the entry type, additional arguments may be accepted that
designate transaction properties.
You MUST complete the transaction by use of COMMIT or ABORT at some
point, as resources may be allocated in the back that could be
exhausted if staying live for too long.
A transaction object may be invalidated by an intermittent write
operation to the same entry either through the same process, or
through an external mechanism of some kind.
Any changes made to an entry by either WRITE-TO, or by external
processes, must not be visible until the transaction has been
successfully COMMITTed.
If a transaction is ABORTed, any changes made via WRITE-TO must be
discarded as if they had never happened.
See WITH-OPEN
See TRANSACTION
See ENTRY
See COMMIT
See ABORT
See WRITE-TO
See READ-FROM
file
) (direction (eql :input)
) element-type &key external-format) ¶file
) (direction (eql :output)
) element-type &key external-format) ¶pathname
) direction element-type &rest args) ¶Returns true if the depot is considered "open" and ready for reading and writing.
A depot may become "closed" by calling CLOSE on it. Once a depot is
closed, its data may no longer be up to date, and writing and reading
from any of its entries may fail until ENSURE-DEPOT is called on it
to open it back up again.
See DEPOT
See ENSURE-DEPOT
Returns the name of the operation that failed.
See UNSUPPORTED-OPERATION
unsupported-operation
)) ¶Returns a list of entries in the depot that match the queried attributes.
The only required attribute that a depot must be able to query is ID.
Other attributes are dependent on the depot and possibly entry being
queried.
The order of returned entries is not required to be stable.
See ENTRY
See DEPOT
Returns the matching entry in the depot.
If no matching entry is found, NIL is returned. If multiple entries
match, any one of them may be returned.
See QUERY-ENTRIES
See ENTRY
See DEPOT
Read a sequence from a transaction.
TRANSACTION must be an object obtained through OPEN-ENTRY with the
DIRECTION set to :INPUT, and may not have been aborted, committed, or
invalidated.
SEQUENCE must be a lisp sequence type. START and END may be indices
into this sequence designating a subsequence to write.
The sequence is filled starting from the current INDEX of the
transaction until either the end of the designated sequence is
reached, or the end of the transaction is reached.
Returns the index of the last element in the sequence that was
modified.
If another write was committed after the transaction was created, but before this call an error of type READ-INVALIDATED may be signalled.
You may also call this on an ENTRY directly, in which case it will
construct a transaction, read the sequence, and immediately attempt
to COMMIT. In this case you may also pass either ’BYTE or ’CHARACTER
as arguments to the second argument, in which case a vector will be
constructed for you and returned instead of the last modified
index. The vector will have element type of (UNSIGNED-BYTE 8) or
CHARACTER, respectively.
See OPEN-ENTRY
See TRANSACTION
stream-transaction
) (sequence sequence
) &key start end) ¶transaction
) (stream stream
) &key start end) ¶transaction
) (pathname pathname
) &key start end if-exists) ¶transaction
) (target (eql character)
) &key start end block-size) ¶transaction
) (target (eql byte)
) &key start end) ¶Attempts to turn the entry into another entry or depot of another backend.
This allows you to access the contents of a depot that’s encoded
within another depot.
You may either pass a realizer instance, or T. If T is passed, each of
the known realizers is tried in turn until one that passes is found,
whose result is returned. If no realizer accepts the entry, NIL is
returned. If a realizer instance is passed directly and it fails at
realizing the entry, an error is signalled.
When successful the result may be an ENTRY or a DEPOT.
See ENTRY
See REALIZER
pathname
) realizer) ¶Returns the size (in elements) of the backing storage the transaction represents.
If the TRANSACTION was not obtained through OPEN-ENTRY with the
DIRECTION set to :INPUT, the consequences of this function are
implementation defined.
See TRANSACTION
transaction-stream
)) ¶stream-transaction
)) ¶Returns the entry that the transaction is targeting.
See ENTRY
See TRANSACTION
transaction
)) ¶automatically generated reader method
Returns a pathname that this entry represents.
This operation may also be used for entries that do not come from a
file system depot, but the success of the operation is not
guaranteed, as it is subject to implementation pathname constraints
that may not apply to the depot or entry in question.
See FROM-PATHNAME
Turns the transaction object into a STREAM object that can be passed to other agnostic libraries.
Note that many operations on the stream can be significantly more
expensive than if done through transactions’ READ-FROM/WRITE-TO
functions, and some stream operations may not be entirely supported.
See TRANSACTION
input-transaction
)) ¶output-transaction
)) ¶stream-transaction
)) ¶automatically generated reader method
transaction-stream
)) ¶automatically generated reader method
Write a sequence to a transaction.
TRANSACTION must be an object obtained through OPEN-ENTRY with the
DIRECTION set to :OUTPUT, and may not have been aborted, committed, or
invalidated.
SEQUENCE must be a lisp sequence type. START and END may be indices
into this sequence designating a subsequence to write.
If another write was committed after the transaction was created, but before this call an error of type WRITE-CONFLICT may be signalled.
You may also call this on an ENTRY directly, in which case it will
construct a transaction, write the sequence, and immediately attempt
to COMMIT it.
See OPEN-ENTRY
See TRANSACTION
stream-transaction
) (sequence sequence
) &key start end) ¶transaction
) (stream stream
) &key start end) ¶transaction
) (pathname pathname
) &key start end) ¶transaction-stream
) &key abort) ¶transaction
) stream) ¶transaction-stream
) col) ¶sb-gray
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
)) ¶trivial-gray-streams
.
transaction-stream
)) ¶trivial-gray-streams
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
) seq start end &key) ¶trivial-gray-streams
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
)) ¶sb-gray
.
transaction-stream
) char) ¶sb-gray
.
transaction-stream
) byte) ¶sb-gray
.
transaction-stream
) char) ¶sb-gray
.
transaction-stream
) seq start end &key) ¶trivial-gray-streams
.
transaction-stream
) string &optional start end) ¶sb-gray
.
Base condition for all conditions in the context of depots.
See OBJECT
condition
.
Error signalled if a depot cannot accept further content.
See DEPOT-CONDITION
depot-condition
.
error
.
Error signalled if the requested entry already exists.
See DEPOT-CONDITION
See ATTRIBUTES
depot-condition
.
error
.
(quote nil)
:attributes
This slot is read-only.
Error signalled if the entry to operate on no longer exists.
See DEPOT-CONDITION
depot-condition
.
error
.
Error signalled if a requested attribute does not exist.
See DEPOT-CONDITION
See NAME
depot-condition
.
error
.
name
.
Error signalled if a requested entry does not exist.
See DEPOT-CONDITION
See ID
depot-condition
.
error
.
id
.
Error signalled when an object cannot be coerced to a depot.
See DEPOT-CONDITION
depot-condition
.
error
.
Error signalled if an action cannot be performed due to security constraints.
See DEPOT-CONDITION
depot-condition
.
error
.
Error signalled when a read cannot be completed due to a conflict.
This usually happens when a write has been committed between the time
the transaction was opened and the current read was attempted.
See TRANSACTION-ABORTED
Error signalled when a transaction has been aborted and can’t be used.
See DEPOT-CONDITION
depot-condition
.
error
.
Error signalled when attempting an operation that is not supported by the depot implementation.
See DEPOT-CONDITION
See OPERATION
depot-condition
.
error
.
Error signalled when a write cannot be commited due to an existing conflict.
This usually happens when a write has been committed between the time
the transaction was opened and the current commit was attempted.
See TRANSACTION-ABORTED
Superclass for objects implementing the depot protocol.
When implementing a new depot subclass, the following generic
functions SHOULD be implemented:
- LIST-ENTRIES
- MAKE-ENTRY
All other depot operations are implemented using fallback operations.
You may however implement other, specialised methods as well should
there be more efficient ways of implementing them.
See LIST-ENTRIES
See QUERY-ENTRIES
See QUERY-ENTRY
See ENTRY
See ENTRY-EXISTS-P
See MAKE-ENTRY
See OPEN-P
See ENSURE-DEPOT
Base class for pathname devices.
These correspond to pathname-device types.
See DEPOT
attributes
.
depot
.
id
.
query-entry
.
Class representing directories on a standard operating system hierarchical file system.
This is both a DEPOT and an ENTRY.
See DEPOT
See ENTRY
common-lisp
.
:pathname
This slot is read-only.
Superclass for objects implementing the entry protocol.
When implementing a new entry subclass, the following generic
functions SHOULD be implemented:
- ATTRIBUTES
- (SETF ATTRIBUTES)
- DELETE-ENTRY
- OPEN-ENTRY
Any other entry operations are implemented using fallback operations.
You may however implement other, specialised methods as well should
there be more efficient ways of implementing them.
See DELETE-ENTRY
See ENTRY-MATCHES-P
See ATTRIBUTES
See ATTRIBUTE
See ID
See DEPOT
See ENSURE-DEPOT
See OPEN-ENTRY
See WRITE-TO
See READ-FROM
Class representing files on a standard operating system hierarchical file system.
See ENTRY
common-lisp
.
:pathname
This slot is read-only.
Class representing a read transaction from a file.
See FILE
See OPEN-ENTRY
See TRANSACTION
Class representing a write transaction to a file.
The atomicity of the write is established by writing to a temporary
file, which is then renamed to the existing file on commit.
See FILE
See OPEN-ENTRY
See TRANSACTION
Base class for pathname hosts.
These correspond to pathname-host types.
See DEPOT
Base class for the operating system’s file system depot.
See *OS-DEPOT*
See DEPOT
Superclass for objects implementing the realizer protocol.
See REALIZE-ENTRY
See REGISTER-REALIZER
See REMOVE-REALIZER
See DEFINE-REALIZER
Superclass for transactions that operate on a stream.
Automatically handles the implementation of SIZE and INDEX for
file-streams.
For all streams, ABORT and COMMIT will simply close the stream. It is
up to the subclass to establish the proper ABORT and COMMIT
semantics.
For all streams, WRITE-TO and READ-FROM are implemented using
WRITE-SEQUENCE and READ-SEQUENCE, respectively.
TO-STREAM is also implemented to simply return the underlying stream.
See TRANSACTION
See TO-STREAM
Superclass for objects implementing the transaction protocol.
When implementing a new transaction subclass, the following generic
functions SHOULD be implemented:
- SIZE
- INDEX
- ABORT
- COMMIT
- WRITE-TO
- READ-FROM
See TARGET
see WRITE-TO
See READ-FROM
See SIZE
See INDEX
See TO-STREAM
See COMMIT
See ABORT
:element-type
This slot is read-only.
Gray stream wrapper around a transaction object.
Attempts to implement all gray stream methods and translate them to
depot transaction operations.
See TO-STREAM
See TRANSACTION
fundamental-stream
.
close
.
index
.
size
.
stream-advance-to-column
.
stream-clear-input
.
stream-clear-output
.
(setf stream-file-position)
.
stream-file-position
.
stream-finish-output
.
stream-force-output
.
stream-fresh-line
.
stream-line-column
.
stream-listen
.
stream-peek-char
.
stream-read-byte
.
stream-read-char
.
stream-read-char-no-hang
.
stream-read-line
.
stream-read-sequence
.
stream-start-line-p
.
stream-terpri
.
stream-unread-char
.
stream-write-byte
.
stream-write-char
.
stream-write-sequence
.
stream-write-string
.
transaction
.
:transaction
This slot is read-only.
file-transaction
)) ¶automatically generated reader method
transaction-input-stream
)) ¶automatically generated reader method
transaction-input-stream
)) ¶automatically generated writer method
fundamental-binary-input-stream
.
transaction-input-stream
.
fundamental-binary-output-stream
.
transaction-output-stream
.
fundamental-character-input-stream
.
transaction-input-stream
.
fundamental-character-output-stream
.
transaction-output-stream
.
fundamental-input-stream
.
transaction-stream
.
fundamental-output-stream
.
transaction-stream
.
Jump to: | (
A C D E F G I L M N O P Q R S T U W |
---|
Jump to: | (
A C D E F G I L M N O P Q R S T U W |
---|
Jump to: | *
A D E I N O P S T U |
---|
Jump to: | *
A D E I N O P S T U |
---|
Jump to: | C D E F H I N O P R S T U W |
---|
Jump to: | C D E F H I N O P R S T U W |
---|