This is the cl-protobufs Reference Manual, version 1.0, generated automatically by Declt version 3.0 "Montgomery Scott" on Thu Mar 11 12:27:51 2021 GMT+0.
• Systems | The systems documentation | |
• Modules | The modules documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
The main system appears first, followed by any subsystem dependency.
• The cl-protobufs system |
Scott McKay
Scott McKay
MIT-style
Protobufs for Common Lisp
Protobufs for Common Lisp
1.0
cl-protobufs.asd (file)
Modules are listed depth-first from the system components tree.
Next: The cl-protobufs/models module, Previous: Modules, Up: Modules [Contents][Index]
cl-protobufs (system)
pkgdcl.lisp (file)
Next: The cl-protobufs/parsing module, Previous: The cl-protobufs/packages module, Up: Modules [Contents][Index]
packages (module)
cl-protobufs (system)
Next: The cl-protobufs/schema module, Previous: The cl-protobufs/models module, Up: Modules [Contents][Index]
models (module)
cl-protobufs (system)
Next: The cl-protobufs/serialization module, Previous: The cl-protobufs/parsing module, Up: Modules [Contents][Index]
cl-protobufs (system)
Next: The cl-protobufs/misc module, Previous: The cl-protobufs/schema module, Up: Modules [Contents][Index]
cl-protobufs (system)
Previous: The cl-protobufs/serialization module, Up: Modules [Contents][Index]
cl-protobufs (system)
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
Next: The cl-protobufs/packages/pkgdcl․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
cl-protobufs.asd
cl-protobufs (system)
Next: The cl-protobufs/models/utilities․lisp file, Previous: The cl-protobufs․asd file, Up: Lisp files [Contents][Index]
packages (module)
pkgdcl.lisp
Next: The cl-protobufs/models/model-classes․lisp file, Previous: The cl-protobufs/packages/pkgdcl․lisp file, Up: Lisp files [Contents][Index]
models (module)
utilities.lisp
Next: The cl-protobufs/models/conditions․lisp file, Previous: The cl-protobufs/models/utilities․lisp file, Up: Lisp files [Contents][Index]
utilities.lisp (file)
models (module)
model-classes.lisp
Next: The cl-protobufs/parsing/parser․lisp file, Previous: The cl-protobufs/models/model-classes․lisp file, Up: Lisp files [Contents][Index]
model-classes.lisp (file)
models (module)
conditions.lisp
Next: The cl-protobufs/parsing/printer․lisp file, Previous: The cl-protobufs/models/conditions․lisp file, Up: Lisp files [Contents][Index]
parsing (module)
parser.lisp
Next: The cl-protobufs/schema/define-proto․lisp file, Previous: The cl-protobufs/parsing/parser․lisp file, Up: Lisp files [Contents][Index]
parser.lisp (file)
parsing (module)
printer.lisp
Next: The cl-protobufs/schema/upgradable․lisp file, Previous: The cl-protobufs/parsing/printer․lisp file, Up: Lisp files [Contents][Index]
schema (module)
define-proto.lisp
Next: The cl-protobufs/schema/clos-transform․lisp file, Previous: The cl-protobufs/schema/define-proto․lisp file, Up: Lisp files [Contents][Index]
define-proto.lisp (file)
schema (module)
upgradable.lisp
Next: The cl-protobufs/serialization/text-format․lisp file, Previous: The cl-protobufs/schema/upgradable․lisp file, Up: Lisp files [Contents][Index]
upgradable.lisp (file)
schema (module)
clos-transform.lisp
Next: The cl-protobufs/serialization/wire-format․lisp file, Previous: The cl-protobufs/schema/clos-transform․lisp file, Up: Lisp files [Contents][Index]
serialization (module)
text-format.lisp
Next: The cl-protobufs/serialization/serialize․lisp file, Previous: The cl-protobufs/serialization/text-format․lisp file, Up: Lisp files [Contents][Index]
text-format.lisp (file)
serialization (module)
wire-format.lisp
Next: The cl-protobufs/misc/api․lisp file, Previous: The cl-protobufs/serialization/wire-format․lisp file, Up: Lisp files [Contents][Index]
wire-format.lisp (file)
serialization (module)
serialize.lisp
Next: The cl-protobufs/misc/asdf-support․lisp file, Previous: The cl-protobufs/serialization/serialize․lisp file, Up: Lisp files [Contents][Index]
misc (module)
api.lisp
Next: The cl-protobufs/misc/examples․lisp file, Previous: The cl-protobufs/misc/api․lisp file, Up: Lisp files [Contents][Index]
api.lisp (file)
misc (module)
asdf-support.lisp
do-process-import (function)
Previous: The cl-protobufs/misc/asdf-support․lisp file, Up: Lisp files [Contents][Index]
asdf-support.lisp (file)
misc (module)
examples.lisp
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
• The protobufs package | ||
• The protobufs-implementation package |
Next: The protobufs-implementation package, Previous: Packages, Up: Packages [Contents][Index]
pkgdcl.lisp (file)
proto
Previous: The protobufs package, Up: Packages [Contents][Index]
pkgdcl.lisp (file)
proto-impl
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
Next: Exported special variables, Previous: Exported definitions, Up: Exported definitions [Contents][Index]
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
Next: Exported macros, Previous: Exported constants, Up: Exported definitions [Contents][Index]
clos-transform.lisp (file)
A global table mapping Lisp class names to ’protobuf-message’ objects.
model-classes.lisp (file)
A global table mapping names to ’protobuf-schema’ objects.
model-classes.lisp (file)
Bound to the Protobufs object currently being defined, either a schema or a message.
model-classes.lisp (file)
Bound to a conc-name to use for all the messages in the schema being defined.
This controls the name of the accessors the fields of each message.
When it’s nil, there is no "global" conc-name.
When it’s t, each message will use the message name as the conc-name.
When it’s a string, that string will be used as the conc-name for each message.
’parse-schema-from-file’ defaults conc-name to "", meaning that each field in
every message has an accessor whose name is the name of the field.
model-classes.lisp (file)
Bound to the path to use to direct output during imports, etc.
model-classes.lisp (file)
Bound to the Lisp package in which the Protobufs schema is being defined.
model-classes.lisp (file)
Bound to he name of the file from where the .proto file is being parsed.
model-classes.lisp (file)
Bound to the search-path to use to resolve any relative pathnames.
model-classes.lisp (file)
The Lisp function that implements RPC client-side calls.
This should be set when an RPC package that uses CL-Protobufs gets loaded.
define-proto.lisp (file)
The Lisp package that implements RPC.
This should be set when an RPC package that uses CL-Protobufs gets loaded.
define-proto.lisp (file)
Next: Exported compiler macros, Previous: Exported special variables, Up: Exported definitions [Contents][Index]
Define a Protobufs enum type and a Lisp ’deftype’ named ’type’.
’name’ can be used to override the defaultly generated Protobufs enum name.
’conc-name’ will be used as the prefix to the Lisp enum names, if it’s supplied.
If ’alias-for’ is given, no Lisp ’deftype’ will be defined. Instead, the enum
will be used as an alias for an enum type that already exists in Lisp.
’options’ is a set of keyword/value pairs, both of which are strings.
The body consists of the enum values in the form ’name’ or (name index).
define-proto.lisp (file)
Define an extension to the message named ’type’.
’name’ can be used to override the defaultly generated Protobufs message name.
The body consists only of fields.
’options’ is a set of keyword/value pairs, both of which are strings.
Fields take the form (slot &key type name default reader writer)
’slot’ can be either a symbol giving the field name, or a list whose
first element is the slot name and whose second element is the index.
’type’ is the type of the slot.
’name’ can be used to override the defaultly generated Protobufs field name.
’default’ is the default value for the slot.
’reader’ is a Lisp slot reader function to use to get the value, instead of
using ’slot-value’; this is often used when aliasing an existing class.
’writer’ is a Lisp slot writer function to use to set the value.
define-proto.lisp (file)
Define an extension range within a message.
The "body" is the start and end of the range, both inclusive.
define-proto.lisp (file)
Define a message named ’type’ and a Lisp ’defclass’, *and* a field named type.
This is deprecated in Protobufs, but if you have to use it, you must give
’index’ as the field index and ’arity’ of :required, :optional or :repeated.
’name’ can be used to override the defaultly generated Protobufs message name.
The body consists of fields, or ’define-enum’ or ’define-message’ forms.
’conc-name’ will be used as the prefix to the Lisp slot accessors, if it’s supplied.
If ’alias-for’ is given, no Lisp class is defined. Instead, the message will be
used as an alias for a class that already exists in Lisp. This feature is intended
to be used to define messages that will be serialized from existing Lisp classes;
unless you get the slot names or readers exactly right for each field, it will be
the case that trying to (de)serialize into a Lisp object won’t work.
’options’ is a set of keyword/value pairs, both of which are strings.
Fields take the form (slot &key type name default reader writer)
’slot’ can be either a symbol giving the field name, or a list whose
first element is the slot name and whose second element is the index.
’type’ is the type of the slot.
’name’ can be used to override the defaultly generated Protobufs field name.
’default’ is the default value for the slot.
’reader’ is a Lisp slot reader function to use to get the value, instead of
using ’slot-value’; this is often used when aliasing an existing class.
’writer’ is a Lisp slot writer function to use to set the value.
define-proto.lisp (file)
Define a message named ’type’ and a Lisp ’defclass’.
’name’ can be used to override the defaultly generated Protobufs message name.
The body consists of fields, or ’define-enum’ or ’define-message’ forms.
’conc-name’ will be used as the prefix to the Lisp slot accessors, if it’s supplied.
If ’alias-for’ is given, no Lisp class is defined. Instead, the message will be
used as an alias for a class that already exists in Lisp. This feature is intended
to be used to define messages that will be serialized from existing Lisp classes;
unless you get the slot names or readers exactly right for each field, it will be
the case that trying to (de)serialize into a Lisp object won’t work.
’options’ is a set of keyword/value pairs, both of which are strings.
Fields take the form (slot &key type name default reader writer)
’slot’ can be either a symbol giving the field name, or a list whose
first element is the slot name and whose second element is the index.
’type’ is the type of the slot.
’name’ can be used to override the defaultly generated Protobufs field name.
’default’ is the default value for the slot.
’reader’ is a Lisp slot reader function to use to get the value, instead of
using ’slot-value’; this is often used when aliasing an existing class.
’writer’ is a Lisp slot writer function to use to set the value.
define-proto.lisp (file)
Define a schema named ’type’, corresponding to a .proto file of that name.
’name’ can be used to override the defaultly generated Protobufs name.
’syntax’ and ’package’ are as they would be in a .proto file.
’lisp-package’ can be used to specify a Lisp package if it is different from
the Protobufs package given by ’package’.
’import’ is a list of pathname strings to be imported.
’optimize’ can be either :space (the default) or :speed; if it is :speed, the
serialization code will be much faster, but much less compact.
’options’ is a property list, i.e., ("key1" "val1" "key2" "val2" ...).
The body consists of ’define-enum’, ’define-message’ or ’define-service’ forms.
define-proto.lisp (file)
Define a service named ’type’ and Lisp ’defgeneric’ for all its methods.
’name’ can be used to override the defaultly generated Protobufs service name.
’options’ is a set of keyword/value pairs, both of which are strings.
The body is a set of method specs of the form (name (input-type [=>] output-type) &key options). ’input-type’ and ’output-type’ may also be of the form (type &key name).
define-proto.lisp (file)
Define a Protobufs type alias Lisp ’deftype’ named ’type’.
’lisp-type’ is the name of the Lisp type.
’proto-type’ is the name of a primitive Protobufs type, e.g., ’int32’ or ’string’.
’serializer’ is a function that takes a Lisp object and generates a Protobufs object.
’deserializer’ is a function that takes a Protobufs object and generates a Lisp object.
If ’alias-for’ is given, no Lisp ’deftype’ will be defined.
define-proto.lisp (file)
Next: Exported functions, Previous: Exported macros, Up: Exported definitions [Contents][Index]
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
Next: Exported generic functions, Previous: Exported compiler macros, Up: Exported definitions [Contents][Index]
Given a Lisp class name, returns a Protobufs message or enum name.
The second value is the fully qualified name, as a list. At least one caller
passes in the class, not the name, so check for that first.
utilities.lisp (file)
Given a CLOS class, return a Protobufs model object for it.
clos-transform.lisp (file)
Given an initform and a Lisp type, returns a plausible default value.
Don’t call this if the default is empty, because that will confuse ’nil’ with ’unbound’.
clos-transform.lisp (file)
Given a Lisp type, returns a "cardinality": :required, :optional or :repeated.
If the sceond returned value is true, it’s a repeated field that should use a vector.
clos-transform.lisp (file)
Given a Lisp type, returns a Protobuf type, a class or primitive type, whether or not to pack the field, and (optionally) a set of enum values.
clos-transform.lisp (file)
Decodes the next double float in the buffer at the given index.
Returns both the decoded value and the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Decodes the next 32-bit unsigned fixed integer in the buffer at the given index.
Returns both the decoded value and the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Decodes the next 64-bit unsigned fixed integer in the buffer at the given index.
Returns both the decoded value and the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Decodes the next varint integer in the buffer at the given index.
Returns both the decoded value and the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Decodes the next octets in the buffer at the given index.
Returns both the decoded value and the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Decodes the next 32-bit signed fixed integer in the buffer at the given index.
Returns both the decoded value and the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Decodes the next 64-bit signed fixed integer in the buffer at the given index.
Returns both the decoded value and the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Decodes the next single float in the buffer at the given index.
Returns both the decoded value and the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Decodes the next UTF-8 encoded string in the buffer at the given index.
Returns both the decoded string and the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Decodes the next 32-bit varint integer in the buffer at the given index.
Returns both the decoded value and the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Decodes the next 64-bit varint integer in the buffer at the given index.
Returns both the decoded value and the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Deserializes the next enum value take from ’enum-values’.
Deserializes from the byte vector ’buffer’ starting at ’index’.
Returns the value and and the new index into the buffer.
Watch out, this function turns off most type checking and all array bounds checking.
wire-format.lisp (file)
Deserializes an object of the given type ’type’ from the given stream
as a Protobuf object.
’type’ is the Lisp name of a Protobufs message (usually the name of a
Lisp class) or a ’protobuf-message’.
The return value is the object.
serialize.lisp (file)
Deserializes an object of the given type ’type’ from the given file as a Protobuf object.
serialize.lisp (file)
Deserializes an object of the given type ’type’ from the given stream as a Protobuf object.
serialize.lisp (file)
Deserializes the next packed values of type ’type’.
Deserializes from the byte vector ’buffer’ starting at ’index’.
Returns the value and and the new index into the buffer.
Watch out, this function turns off most type checking and all array bounds checking.
wire-format.lisp (file)
Deserializes the next packed enum values given in ’enum-values’.
Deserializes from the byte vector ’buffer’ starting at ’index’.
Returns the value and and the new index into the buffer.
Watch out, this function turns off most type checking and all array bounds checking.
wire-format.lisp (file)
Deserializes the next object of primitive type ’type’.
Deserializes from the byte vector ’buffer’ starting at ’index’.
Returns the value and and the new index into the buffer.
Watch out, this function turns off most type checking and all array bounds checking.
wire-format.lisp (file)
Encodes the double float ’val’ into the buffer at the given index.
Modifies the buffer, and returns the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Encodes the unsigned 32-bit integer ’val’ as a fixed int into the buffer at the given index.
Modifies the buffer, and returns the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Encodes the unsigned 64-bit integer ’val’ as a fixed int into the buffer at the given index.
Modifies the buffer, and returns the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Encodes the signed integer ’val’ as a varint into the buffer at the given index.
Modifies the buffer, and returns the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Encodes the octets into the buffer at the given index.
Modifies the buffer, and returns the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Encodes the signed 32-bit integer ’val’ as a fixed int into the buffer at the given index.
Modifies the buffer, and returns the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Encodes the signed 64-bit integer ’val’ as a fixed int into the buffer at the given index.
Modifies the buffer, and returns the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Encodes the single float ’val’ into the buffer at the given index.
Modifies the buffer, and returns the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Encodes the octets into the buffer at the given index.
Modifies the buffer, and returns the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Encodes the unsigned 32-bit integer ’val’ as a varint into the buffer at the given index.
Modifies the buffer, and returns the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
Encodes the unsigned 64-bit integer ’val’ as a varint into the buffer at the given index.
Modifies the buffer, and returns the new index into the buffer.
Watch out, this function turns off all type checking and array bounds checking.
wire-format.lisp (file)
define-proto.lisp (file)
Given a Lisp enum value name, returns a Protobufs enum value name. The second value is the fully qualified name, as a list.
utilities.lisp (file)
Returns the size in bytes that the enum object will take when serialized.
wire-format.lisp (file)
Generate a ’deserialize-object’ method for the given message.
serialize.lisp (file)
Generate an ’object-size’ method for the given message.
serialize.lisp (file)
Given a set of CLOS classes, generates a Protobufs schema for the classes. The return value is the schema.
clos-transform.lisp (file)
Generate a ’serialize-object’ method for the given message.
serialize.lisp (file)
clos-transform.lisp (file)
utilities.lisp (file)
model-classes.lisp (file)
Given a wire type or the name of a Protobufs type and a field index, return the tag that encodes both of them.
wire-format.lisp (file)
Returns the size in bytes that the enum values will take when serialized.
wire-format.lisp (file)
Returns the size in bytes that the packed object will take when serialized. Watch out, this function turns off most type checking.
wire-format.lisp (file)
asdf-support.lisp (file)
Parses the named file as a .proto file, and returns the Protobufs schema.
parser.lisp (file)
Parses a top-level .proto file from the stream ’stream’. Returns the protobuf schema that describes the .proto file.
parser.lisp (file)
Returns the size in bytes that the primitive object will take when serialized. Watch out, this function turns off most type checking.
wire-format.lisp (file)
Processes the imports for a schema.
If the import is a symbol, see if that resolves to an existing schema.
If the import is a file (string, pathname), parse it as a .proto in the usual manner.
asdf-support.lisp (file)
asdf-support.lisp (file)
Given a Protobufs message or enum type name, returns a Lisp class or type name. This resolves Protobufs qualified names as best as it can.
utilities.lisp (file)
Given a Protobufs enum value name, returns a Lisp enum value name. This resolves Protobufs qualified names as best as it can.
utilities.lisp (file)
Given a Protobufs field value name, returns a Lisp slot name. This resolves Protobufs qualified names as best as it can.
utilities.lisp (file)
Given a Protobufs type and default, return a CLOS initform value.
Don’t call this if the default is empty, because that will confuse ’nil’ with ’unbound’.
clos-transform.lisp (file)
utilities.lisp (file)
conditions.lisp (file)
Serializes a Protobufs enum value into the buffer at the given index.
The value is given by ’val’, the enum values are in ’enum-values’.
Modifies the buffer in place, and returns the new index into the buffer.
Watch out, this function turns off most type checking and all array bounds checking.
wire-format.lisp (file)
Serializes the object ’object’ of type ’type’ into a new byte vector
using the wire format.
’type’ is the Lisp name of a Protobufs message (usually the name of a
Lisp class) or a ’protobuf-message’.
’visited’ is a hash table used to cache object sizes. If it is supplied, it will be
cleared before it is used; otherwise, a fresh table will be created if necessary.
The return value is the buffer containing the serialized object. If the stream is
nil, the buffer is not actually written to anywhere.
serialize.lisp (file)
Serializes the object ’object’ of type ’type’ into the file ’filename’
using the wire format.
’object’ and ’type’ are the same as for ’serialize-object-to-bytes’.
serialize.lisp (file)
Serializes the object ’object’ of type ’type’ onto the stream ’stream’
using the wire format.
’object’ and ’type’ are the same as for ’serialize-object-to-bytes’.
serialize.lisp (file)
Serializes a set of packed values into the buffer at the given index.
The values are given by ’values’, the primitive type by ’type’.
Modifies the buffer in place, and returns the new index into the buffer.
Watch out, this function turns off most type checking and all array bounds checking.
wire-format.lisp (file)
Serializes Protobufs enum values into the buffer at the given index.
The values are given by ’values’, the enum values are in ’enum-values’.
Modifies the buffer in place, and returns the new index into the buffer.
Watch out, this function turns off most type checking and all array bounds checking.
wire-format.lisp (file)
Serializes a Protobufs primitive (scalar) value into the buffer at the given index.
The value is given by ’val’, the primitive type by ’type’.
Modifies the buffer in place, and returns the new index into the buffer.
Watch out, this function turns off most type checking and all array bounds checking.
wire-format.lisp (file)
Skip an element in the buffer at the index of the given wire type.
Returns the new index in the buffer.
Watch out, this function turns off all type checking and all array bounds checking.
wire-format.lisp (file)
Given a Lisp slot name, returns a Protobufs field name. The second value is the fully qualified name, as a list.
utilities.lisp (file)
Given a CLOS slot, return a Protobufs model object for it.
clos-transform.lisp (file)
conditions.lisp (file)
Return the length that ’val’ will take when encoded as a varint integer.
wire-format.lisp (file)
Writes the object ’protobuf’ (schema, message, enum, etc) onto the stream ’stream’ in the format given by ’type’ (:proto, :text, etc).
printer.lisp (file)
Given a set of CLOS classes, generates a Protobufs schema for the classes
and pretty prints the schema to the stream.
The return value is the schema.
clos-transform.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
wire-format.lisp (file)
Next: Exported conditions, Previous: Exported functions, Up: Exported definitions [Contents][Index]
Given a Protobufs schema, message, enum, etc
add the option called ’name’ with the value ’value’ and type ’type’.
If the option was previoously present, it is replaced.
model-classes.lisp (file)
Initialize all of the fields of ’object’ to their default values.
Clears the value of the extended slot ’slot’ from ’object’
model-classes.lisp (file)
Initialize the field ’slot’ of ’object’ to its default value.
Deserializes an object of the given type ’type’ as a Protobufs object.
’type’ is the Lisp name of a Protobufs message (usually the name of a
Lisp class) or a ’protobuf-message’.
The encoded bytes are in the byte array given by ’buffer’ starting at
the fixnum index ’start’ up to the end of the buffer, given by ’end’.
’start’ defaults to 0, ’end’ defaults to the length of the buffer.
’end-tag’ is used internally to handle the (deprecated) "group" feature.
The return values are the object and the index at which deserialization stopped..
serialize.lisp (file)
Ensure that all of the types are defined in the Protobufs schema ’schema’.
This returns two values:
- A list whose elements are (<undefined-type> "message:field" ...)
- The accumulated warnings table that has the same information as objects.
define-proto.lisp (file)
conditions.lisp (file)
conditions.lisp (file)
conditions.lisp (file)
Given a Protobufs schema or message and the name of an enum type, returns the Protobufs enum corresponding to the type.
model-classes.lisp (file)
Given a Protobufs message and a slot name, field name or index, returns the Protobufs field having that name.
model-classes.lisp (file)
Given a Protobufs schema or message and a type name or class name, returns the Protobufs message corresponding to the type.
model-classes.lisp (file)
Given a class or class name, return the message that globally has that name.
model-classes.lisp (file)
Given the name of a class (a symbol or string), return the ’protobuf-message’ for the class.
Given a Protobufs service and a method name, returns the Protobufs method having that name.
model-classes.lisp (file)
Given a Protobufs schema, message, enum, etc and the name of an option, returns the value of the option and its (Lisp) type. The third value is true if an option was found, otherwise it is false.
model-classes.lisp (file)
Given a name (a symbol or string), return the ’protobuf-schema’ object having that name.
model-classes.lisp (file)
Given a pathname, return the ’protobuf-schema’ object that came from that path.
Given a Protobufs schema,returns the Protobufs service of the given name.
model-classes.lisp (file)
Given a Protobufs schema or message and the name of a type alias, returns the Protobufs type alias corresponding to the name.
model-classes.lisp (file)
Returns the value of the extended slot ’slot’ in ’object’
model-classes.lisp (file)
Returns true iff the there is an extended slot named ’slot’ in ’object’
model-classes.lisp (file)
Returns true iff the field ’slot’ in ’object’ is initialized.
Returns true iff all of the fields of ’object’ are initialized.
Give a schema or message and a name,
generate a fully qualified name string for the name.
model-classes.lisp (file)
Deserialize the object encoded in ’buffer’ and merge it into ’object’.
Deserialization starts at the index ’start’ and ends at ’end’.
’object’ must an object whose Lisp class corresponds to the message
being deserialized.
The return value is the updated object.
Merge the fields from the source object ’source’ into ’object’.
The two objects must be of the same type.
Singular fields will be overwritten, with embedded messages being be merged.
Repeated fields will be concatenated.
The return value is the updated object ’object’.
Returns true iff all of the fields of ’object’ are initialized.
Computes the size in bytes of the object ’object’ of type ’type’.
’type’ is the Lisp name of a Protobufs message (usually the name of a
Lisp class) or a ’protobuf-message’.
’visited’ is either a hash table used to cache object sizes,
or is nil, in which case the objects must have a ’%cached-size’ slot in them.
The return value is the size of the object in bytes.
serialize.lisp (file)
Returns the number of octets required to encode ’object’ using the wire format. ’object’ is an object whose Lisp class corresponds to a Protobufs message.
Parses an object of type ’type’ from the stream ’stream’ using the textual format.
text-format.lisp (file)
Prints the object ’object’ of type ’type’ onto the stream ’stream’ using the
textual format.
If ’suppress-line-breaks’ is true, all the output is put on a single line.
text-format.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
Reset all the fields of ’object’ to their initial values.
Given a Protobufs schema, message, enum, etc and a set of option names, remove all of those options from the set of options.
model-classes.lisp (file)
Returns true if and only if the old Protobufs schema can be upgraded to
the new schema.
’old’ is the old object (schema, enum, message, etc), ’new’ is the new one.
’old-parent’ is the "parent" of ’old’, ’new-parent’ is the parent of ’new’.
If the schema is not upgradable, the second value is a list of warnings.
upgradable.lisp (file)
Returns true if and only if the two Protobufs schemas are equal.
upgradable.lisp (file)
Serialize ’object’ into ’buffer’ using the wire format, starting at the index
’start’ and going no farther than ’end’. ’object’ is an object whose Lisp class
corresponds to a Protobufs message.
Returns two values, the final index and the buffer.
Serializes the object ’object’ of type ’type’ into the byte array ’buffer’
using the wire format.
’type’ is the Lisp name of a Protobufs message (usually the name of a
Lisp class) or a ’protobuf-message’.
The object is serialized into the byte array given by ’buffer’ starting
at the fixnum index ’index’ using the wire format.
’visited’ is a hash table used to cache object sizes; if this is nil, then
the object caches its size itself in a ’%cached-size’ slot.
The return value is the buffer containing the serialized object.
serialize.lisp (file)
Sets the value of the extended slot ’slot’ to ’value’ in ’object’
model-classes.lisp (file)
Returns true iff the field ’slot’ in ’object’ is initialized.
Writes the protobuf object ’protobuf’ (schema, message, enum, etc) onto
the given stream ’stream’ in the format given by ’type’ (:proto, :text, etc).
If ’more’ is true, this means there are more enum values, fields, etc to
be written after the current one.
printer.lisp (file)
Next: Exported classes, Previous: Exported generic functions, Up: Exported definitions [Contents][Index]
utilities.lisp (file)
Indicates that some sort of (de)serialization error has occurred.
conditions.lisp (file)
simple-error (condition)
Initarg | Value |
---|---|
:format-control | "serialization error" |
Indicates that a schema contains a message with a field whose type is not a primitive type and is not a known message (or extend) or enum.
conditions.lisp (file)
undefined-type (condition)
error-field (method)
:field
error-field (generic function)
conditions.lisp (file)
undefined-method-type (condition)
Initarg | Value |
---|---|
:where | "input" |
conditions.lisp (file)
undefined-method-type (condition)
Initarg | Value |
---|---|
:where | "output" |
conditions.lisp (file)
undefined-method-type (condition)
Initarg | Value |
---|---|
:where | "stream" |
Next: Exported types, Previous: Exported conditions, Up: Exported definitions [Contents][Index]
model-classes.lisp (file)
standard-object (class)
The base class for all Protobufs model classes.
model-classes.lisp (file)
abstract-protobuf (class)
(or null symbol)
:class
proto-class (generic function)
(setf proto-class) (generic function)
(or null string)
:name
proto-name (generic function)
string
:qualified-name
""
proto-qualified-name (generic function)
(setf proto-qualified-name) (generic function)
(or null protobufs-implementation:base-protobuf)
:parent
proto-parent (generic function)
(setf proto-parent) (generic function)
(protobufs:list-of protobufs:protobuf-option)
:options
proto-options (generic function)
(setf proto-options) (generic function)
(or null string)
:documentation
proto-documentation (generic function)
(setf proto-documentation) (generic function)
:source-location
proto-source-location (generic function)
(setf proto-source-location) (generic function)
The base class for all user-defined Protobufs messages.
define-proto.lisp (file)
standard-object (class)
(or null fixnum)
The model class that represents a Protobufs enumeration type.
model-classes.lisp (file)
base-protobuf (class)
(or null symbol)
:alias-for
proto-alias-for (generic function)
(setf proto-alias-for) (generic function)
(protobufs:list-of protobufs:protobuf-enum-value)
:values
proto-values (generic function)
(setf proto-values) (generic function)
The model class that represents a Protobufs enumeration value.
model-classes.lisp (file)
base-protobuf (class)
(signed-byte 32)
:index
proto-index (generic function)
(setf proto-index) (generic function)
(or null symbol)
:value
proto-value (generic function)
(setf proto-value) (generic function)
The model class that represents an extension range within a Protobufs message.
model-classes.lisp (file)
abstract-protobuf (class)
(integer 1 536870911)
:from
proto-extension-from (generic function)
(setf proto-extension-from) (generic function)
(integer 1 536870911)
:to
proto-extension-to (generic function)
(setf proto-extension-to) (generic function)
The model class that represents one field within a Protobufs message.
model-classes.lisp (file)
base-protobuf (class)
string
:type
proto-type (generic function)
(setf proto-type) (generic function)
(member :required :optional :repeated)
:required
proto-required (generic function)
(setf proto-required) (generic function)
(unsigned-byte 29)
:index
proto-index (generic function)
(setf proto-index) (generic function)
(or null symbol)
:value
proto-value (generic function)
(setf proto-value) (generic function)
(or null symbol)
:reader
proto-reader (generic function)
(setf proto-reader) (generic function)
(or null symbol list)
:writer
proto-writer (generic function)
(setf proto-writer) (generic function)
:default
protobufs-implementation::$empty-default
proto-default (generic function)
(setf proto-default) (generic function)
(member t nil)
:packed
proto-packed (generic function)
(setf proto-packed) (generic function)
(member :message :group :extends)
:message-type
:message
proto-message-type (generic function)
(setf proto-message-type) (generic function)
(or null protobufs-implementation::proto-oneof)
:oneof
proto-oneof (generic function)
(setf proto-oneof) (generic function)
The model class that represents a Protobufs message.
model-classes.lisp (file)
base-protobuf (class)
(or null string)
:conc-name
proto-conc-name (generic function)
(setf proto-conc-name) (generic function)
(or null symbol)
:alias-for
proto-alias-for (generic function)
(setf proto-alias-for) (generic function)
(protobufs:list-of protobufs:protobuf-enum)
:enums
proto-enums (generic function)
(setf proto-enums) (generic function)
(protobufs:list-of protobufs:protobuf-message)
:messages
proto-messages (generic function)
(setf proto-messages) (generic function)
(protobufs:list-of protobufs:protobuf-message)
:extenders
proto-extenders (generic function)
(setf proto-extenders) (generic function)
(protobufs:list-of protobufs:protobuf-field)
:fields
proto-fields (generic function)
(setf proto-fields) (generic function)
(protobufs:list-of protobufs:protobuf-oneof)
:oneofs
proto-oneofs (generic function)
(setf proto-oneofs) (generic function)
(protobufs:list-of protobufs:protobuf-field)
proto-extended-fields (generic function)
(setf proto-extended-fields) (generic function)
(protobufs:list-of protobufs:protobuf-extension)
:extensions
proto-extensions (generic function)
(setf proto-extensions) (generic function)
(member :message :group :extends)
:message-type
:message
proto-message-type (generic function)
(setf proto-message-type) (generic function)
(protobufs:list-of protobufs:protobuf-type-alias)
:type-aliases
proto-type-aliases (generic function)
(setf proto-type-aliases) (generic function)
The model class that represents one method with a Protobufs service.
model-classes.lisp (file)
base-protobuf (class)
symbol
:client-stub
proto-client-stub (generic function)
(setf proto-client-stub) (generic function)
symbol
:server-stub
proto-server-stub (generic function)
(setf proto-server-stub) (generic function)
symbol
:input-type
proto-input-type (generic function)
(setf proto-input-type) (generic function)
(or null string)
:input-name
proto-input-name (generic function)
(setf proto-input-name) (generic function)
symbol
:output-type
proto-output-type (generic function)
(setf proto-output-type) (generic function)
(or null string)
:output-name
proto-output-name (generic function)
(setf proto-output-name) (generic function)
(or symbol null)
:streams-type
proto-streams-type (generic function)
(setf proto-streams-type) (generic function)
(or null string)
:streams-name
proto-streams-name (generic function)
(setf proto-streams-name) (generic function)
(unsigned-byte 32)
:index
proto-index (generic function)
(setf proto-index) (generic function)
The model class that represents a Protobufs oneof type.
model-classes.lisp (file)
base-protobuf (class)
(protobufs:list-of protobufs:protobuf-field)
:fields
proto-fields (generic function)
(setf proto-fields) (generic function)
The model class that represents a Protobufs options, i.e., a keyword/value pair.
model-classes.lisp (file)
abstract-protobuf (class)
string
:name
proto-name (generic function)
:value
proto-value (generic function)
(setf proto-value) (generic function)
(or null symbol)
:type
(quote string)
proto-type (generic function)
The model class that represents a Protobufs schema, i.e., one .proto file.
model-classes.lisp (file)
base-protobuf (class)
(or null string)
:syntax
"proto2"
proto-syntax (generic function)
(setf proto-syntax) (generic function)
(or null string)
:package
proto-package (generic function)
(setf proto-package) (generic function)
(or null string)
:lisp-package
proto-lisp-package (generic function)
(setf proto-lisp-package) (generic function)
(protobufs:list-of string)
:imports
proto-imports (generic function)
(setf proto-imports) (generic function)
(protobufs:list-of protobufs:protobuf-schema)
proto-imported-schemas (generic function)
(setf proto-imported-schemas) (generic function)
(protobufs:list-of protobufs:protobuf-enum)
:enums
proto-enums (generic function)
(setf proto-enums) (generic function)
(protobufs:list-of protobufs:protobuf-message)
:messages
proto-messages (generic function)
(setf proto-messages) (generic function)
(protobufs:list-of protobufs:protobuf-message)
:extenders
proto-extenders (generic function)
(setf proto-extenders) (generic function)
(protobufs:list-of protobufs:protobuf-service)
:services
proto-services (generic function)
(setf proto-services) (generic function)
(protobufs:list-of protobufs:protobuf-type-alias)
:type-aliases
proto-type-aliases (generic function)
(setf proto-type-aliases) (generic function)
The model class that represents a Protobufs service.
model-classes.lisp (file)
base-protobuf (class)
(protobufs:list-of protobufs:protobuf-method)
:methods
proto-methods (generic function)
(setf proto-methods) (generic function)
The model class that represents a Protobufs type alias.
model-classes.lisp (file)
base-protobuf (class)
:lisp-type
proto-lisp-type (generic function)
:proto-type
proto-proto-type (generic function)
:proto-type-str
proto-proto-type-str (generic function)
:serializer
proto-serializer (generic function)
:deserializer
proto-deserializer (generic function)
Previous: Exported classes, Up: Exported definitions [Contents][Index]
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal constants | ||
• Internal special variables | ||
• Internal macros | ||
• Internal compiler macros | ||
• Internal functions | ||
• Internal generic functions | ||
• Internal conditions |
Next: Internal special variables, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
The marker used in ’proto-default’ used to indicate that there is no default value.
model-classes.lisp (file)
model-classes.lisp (file)
model-classes.lisp (file)
Next: Internal macros, Previous: Internal constants, Up: Internal definitions [Contents][Index]
Compiler optimization settings for safe, debuggable code.
utilities.lisp (file)
Compiler optimization settings for fast, unsafe, hard-to-debug code.
utilities.lisp (file)
wire-format.lisp (file)
utilities.lisp (file)
printer.lisp (file)
printer.lisp (file)
utilities.lisp (file)
printer.lisp (file)
printer.lisp (file)
Bound to the Lisp package in which the Protobufs schema’s service definitions are being defined.
model-classes.lisp (file)
printer.lisp (file)
printer.lisp (file)
printer.lisp (file)
When true, don’t generate line breaks in the text format
text-format.lisp (file)
Bound to a list of undefined messages during schame validation.
define-proto.lisp (file)
Bound to the list of upgrade warning messages.
upgradable.lisp (file)
printer.lisp (file)
Next: Internal compiler macros, Previous: Internal special variables, Up: Internal definitions [Contents][Index]
Append ’tail’ to the list given by ’place’, then set the place to the new list.
utilities.lisp (file)
Iterates over a sequence, using ’dolist’ or ’dovector’ depending on
the type of the sequence. In optimized code, this turns out to be
faster than (map () #’f sequence).
Note that the body gets expanded twice!
utilities.lisp (file)
Like ’dolist’, but iterates over the vector ’vector’.
utilities.lisp (file)
Generate 32- or 64-bit versions of zig-zag encoder/decoder.
wire-format.lisp (file)
Generate 32- or 64-bit versions of integer decoders.
wire-format.lisp (file)
Generate 32- or 64-bit versions of integer encoders.
wire-format.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
Assert that the condition is true, otherwise issue an upgrade warning.
upgradable.lisp (file)
’collection-descriptions’ is a list of clauses of the form (coll function). The body can call each ’function’ to add a value to ’coll’. ’function’ runs in constant time, regardless of the length of the list.
utilities.lisp (file)
utilities.lisp (file)
utilities.lisp (file)
Establish a context which causes the generated Lisp code to have
source location information that points to the .proto file.
’type’ is the name of the Lisp definition (a symbol).
’name’ is the name of the Protobufs definition (a string).
’definition-type’ is the kind of definition, e.g., ’protobuf-enum’.
’pathname’, ’start-pos’ and ’end-pos’ give the location of the definition
in the .proto file.
define-proto.lisp (file)
utilities.lisp (file)
Next: Internal functions, Previous: Internal macros, Up: Internal definitions [Contents][Index]
utilities.lisp (file)
Next: Internal generic functions, Previous: Internal compiler macros, Up: Internal definitions [Contents][Index]
parser.lisp (file)
Returns t or nil given a value that might be a boolean.
clos-transform.lisp (file)
serialize.lisp (file)
Take a hyphen-separated string and turn it into a camel-case string.
utilities.lisp (file)
Take a hyphen-separated string and turn its tail into a camel-case string.
utilities.lisp (file)
define-proto.lisp (file)
Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.
SYS:SRC;CODE;SEQ.LISP (not found)
Returns a function that applies ’function’ to ’args’, plus any additional arguments given at the call site.
utilities.lisp (file)
asdf-support.lisp (file)
utilities.lisp (file)
Returns true if ’string’ ends with the prefix ’prefix’ (case insensitive).
utilities.lisp (file)
define-proto.lisp (file)
The inverse of ’unescape-char’, for printing.
parser.lisp (file)
printer.lisp (file)
Expect to see ’char’ as the next character in the stream; signal an error if it’s not there.
Then skip all of the following whitespace.
The return value is the character that was eaten.
parser.lisp (file)
A very fuzzy definition of ’find-package’.
utilities.lisp (file)
Find something by its string name, first doing a simple name match, and, if that fails, exhaustively searching qualified names.
model-classes.lisp (file)
Given a class and a slot descriptor, find the name of a reader method for the slot.
clos-transform.lisp (file)
Given a class and a slot descriptor, find the "best" type definition for the slot.
clos-transform.lisp (file)
Interns a new symbol in the current package.
utilities.lisp (file)
Given an expression ’x’, constant-fold it until it can be folded no more.
wire-format.lisp (file)
Generates the forms used by DEFINE-MESSAGE and DEFINE-GROUP.
define-proto.lisp (file)
define-proto.lisp (file)
define-proto.lisp (file)
Given a symbol designator ’x’, return a keyword whose name is ’x’. If ’x’ is nil, this returns nil.
utilities.lisp (file)
Interns a new symbol in the keyword package.
utilities.lisp (file)
clos-transform.lisp (file)
utilities.lisp (file)
Intern a string of the ’package:string’ and return the symbol.
utilities.lisp (file)
utilities.lisp (file)
Create a "source locator" for the stream at the current position. With any luck, we can get meta-dot to pay attention to it.
parser.lisp (file)
Given a message, return a fully qualified name if the short name is not sufficient to name the message in the current scope.
printer.lisp (file)
Skip some optional characters in the stream, then skip all of the following whitespace.
parser.lisp (file)
If what appears next in the stream is a comment, skip it and any following comments, then skip any following whitespace.
parser.lisp (file)
model-classes.lisp (file)
Returns true if the given Protobufs type can use a packed field.
clos-transform.lisp (file)
parser.lisp (file)
Parse the next token in the stream as a float, then skip the following whitespace. The returned value is the float.
parser.lisp (file)
parser.lisp (file)
parser.lisp (file)
Parse the next token in the stream, then skip the following whitespace.
The token might be surrounded by parentheses.
The returned value is the token.
parser.lisp (file)
Parse a Protobufs ’enum’ from ’stream’.
Updates the ’protobuf-schema’ or ’protobuf-message’ object to have the enum.
parser.lisp (file)
Parse a Protobufs enum value from ’stream’.
Updates the ’protobuf-enum’ object to have the enum value.
parser.lisp (file)
Parse a Protobufs ’extend’ from ’stream’.
Updates the ’protobuf-schema’ or ’protobuf-message’ object to have the message.
parser.lisp (file)
parser.lisp (file)
Parse a Protobufs field from ’stream’.
Updates the ’protobuf-message’ object to have the field.
parser.lisp (file)
Parse any options in a Protobufs field from ’stream’. Returns a list of ’protobuf-option’ objects.
parser.lisp (file)
Parse a (deprecated) Protobufs group from ’stream’.
Updates the ’protobuf-message’ object to have the group type and field.
parser.lisp (file)
Parse a Protobufs import line from ’stream’.
Updates the ’protobuf-schema’ object to use the import.
parser.lisp (file)
Parse a Protobufs ’message’ from ’stream’.
Updates the ’protobuf-schema’ or ’protobuf-message’ object to have the message.
parser.lisp (file)
Parse a Protobufs method from ’stream’.
Updates the ’protobuf-service’ object to have the method.
parser.lisp (file)
Parse any options in a Protobufs method from ’stream’.
Returns a list of ’protobuf-option’ objects.
If a body was parsed, returns a second value T.
parser.lisp (file)
Parse a Messages ’oneof’ from ’stream’.
Updates the ’message-schema’ or ’message-message’ object to have the oneof
parser.lisp (file)
Parse a Oneofs field from ’stream’.
Updates the ’protobuf-oneof’ object to have the field.
parser.lisp (file)
Parse a Protobufs option line from ’stream’.
Updates the ’protobuf-schema’ (or message, service, method) to have the option.
parser.lisp (file)
Parse a Protobufs package line from ’stream’.
Updates the ’protobuf-schema’ object to use the package.
parser.lisp (file)
Parse a Protobufs ’service’ from ’stream’.
Updates the ’protobuf-schema’ object to have the service.
parser.lisp (file)
Parse a Protobufs syntax line from ’stream’.
Updates the ’protobuf-schema’ object to use the syntax.
parser.lisp (file)
Parse the next token in the stream as an integer, then skip the following whitespace. The returned value is the integer.
parser.lisp (file)
Parse the next quoted string in the stream, then skip the following whitespace. The returned value is the string, without the quotation marks.
parser.lisp (file)
Parse the next token in the stream, then skip the following whitespace. The returned value is the token.
parser.lisp (file)
parser.lisp (file)
Parse the next token in the stream as an integer, then skip the following whitespace. The returned value is the integer.
parser.lisp (file)
text-format.lisp (file)
text-format.lisp (file)
Process one field descriptor within ’define-message’ or ’define-extend’.
Returns a ’proto-field’ object, a CLOS slot form and the incremented field index.
define-proto.lisp (file)
parser.lisp (file)
parser.lisp (file)
parser.lisp (file)
define-proto.lisp (file)
clos-transform.lisp (file)
Set the package for generated lisp names of ’schema’.
parser.lisp (file)
utilities.lisp (file)
Skip to the end of a block comment, that is, until a ’*/’ is seen. Then skip any following whitespace.
parser.lisp (file)
Skip either a token or a balanced {}-pair.
text-format.lisp (file)
Skip to the end of a line comment, that is, to the end of the line. Then skip any following whitespace.
parser.lisp (file)
Skip all the whitespace characters that are coming up in the stream.
parser.lisp (file)
parser.lisp (file)
parser.lisp (file)
parser.lisp (file)
Given a string ’string’, splits it at each of the separators. Returns a list of the string pieces, with empty pieces removed.
utilities.lisp (file)
Returns true if ’string’ starts with the prefix ’prefix’ (case insensitive).
utilities.lisp (file)
Concatenate a bunch of strings.
utilities.lisp (file)
utilities.lisp (file)
Take a camel-case string and turn it into a hyphen-separated string.
utilities.lisp (file)
Parse the next "escaped" character from the stream.
parser.lisp (file)
Collect an upgrade warning into *upgrade-warnings*. Returns the list of warnings.
upgradable.lisp (file)
Next: Internal conditions, Previous: Internal functions, Up: Internal definitions [Contents][Index]
Returns true iff there is anything in the schema that would require that the .proto file include and extend ’MessageOptions’.
printer.lisp (file)
Clear the size cache for a tree of objects.
serialize.lisp (file)
Collect all the symbols that should be exported from a Protobufs package
printer.lisp (file)
Returns true iff the default for the field is empty, ie, was not supplied.
model-classes.lisp (file)
define-proto.lisp (file)
define-proto.lisp (file)
define-proto.lisp (file)
define-proto.lisp (file)
conditions.lisp (file)
Make an object size cache for ’object’.
serialize.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
automatically generated writer method
model-classes.lisp (file)
automatically generated reader method
model-classes.lisp (file)
Record all the names by which the Protobufs schema might be known.
model-classes.lisp (file)
Second pass of schema parsing which recursively resolves Protobuf type names to Lisp type names in all messages and services contained within ’protobuf’. No return value.
parser.lisp (file)
Resolves input, output, and streams protobuf type names to lisp type names and sets ‘proto-input-type’, ‘proto-output-type’, and, if ‘proto-streams-name’ is set, ‘proto-streams-type’ on ’method’.
Recursively resolves protobuf type names to lisp type names for all methods of ’service’.
Resolves the field’s protobuf type to a lisp type and sets ‘proto-class’ for ’field’.
Recursively resolves protobuf type names to lisp type names in nested messages and fields of ’message’.
Recursively resolves Protobuf type names to Lisp type names in the messages and services in ’schema’.
parser.lisp (file)
Returns true if the storage for a ’repeated’ field is a vector, returns false if the storage is a list.
model-classes.lisp (file)
Writes the docstring as a "block comment" onto the given stream ’stream’ in the format given by ’type’ (:proto, :text, etc).
printer.lisp (file)
Writes a header for the schema onto the given stream ’stream’ in the format given by ’type’ (:proto, :text, etc).
printer.lisp (file)
Previous: Internal generic functions, Up: Internal definitions [Contents][Index]
Superclass for ‘undefined-type’ errors related to a ‘protobuf-method’. Indicates
that a schema contains a service with a method whose input, output, or stream
type is not a known message (or extend).
conditions.lisp (file)
undefined-type (condition)
:method
error-method (generic function)
Description of which type referenced by the method is undefined.
:where
error-where (generic function)
Indicates that a schema references a type which has not been defined.
conditions.lisp (file)
simple-error (condition)
error-type-name (method)
:type-name
error-type-name (generic function)
Initarg | Value |
---|---|
:format-control | "undefined type:" |
Previous: Definitions, Up: Top [Contents][Index]
• Concept index | ||
• Function index | ||
• Variable index | ||
• Data type index |
Next: Function index, Previous: Indexes, Up: Indexes [Contents][Index]
Jump to: | C F L M |
---|
Jump to: | C F L M |
---|
Next: Variable index, Previous: Concept index, Up: Indexes [Contents][Index]
Jump to: | %
(
A B C D E F G H I K L M O P R S T U V W Z |
---|