The protobuf Reference Manual

Table of Contents

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

The protobuf Reference Manual

This is the protobuf Reference Manual, version 0.9.2, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Dec 02 11:08:13 2019 GMT+0.


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

1 Introduction


Protobuf is a Common Lisp implementation of Google's protocol buffers.

The protobuf repository contains a compiler from .proto files to Lisp and the
run time support needed by the generated Lisp code.  Not all protocol buffer
features are implemented, but the code works well enough that serialization
tests pass.

The protobuf code has been tested with ABCL, CCL, CLISP, Lispworks, and SBCL.
In the past it has also worked with Allegro Common Lisp, but I have not tested
it recently.

The installation instructions below work with release 3.6.1 of Google's
protocol buffer compiler.


INSTALLATION
============

1. The Common Lisp protocol buffer compiler is implemented as a plugin to
Google's protocol buffer compiler, so you must first build and install Google's
compiler, which is called protoc.  The required code and documentation are
available here:

    https://github.com/google/protobuf

The steps should be something like:

    cd /tmp
    git clone https://github.com/google/protobuf google-protobuf
    cd google-protobuf
    ./autogen.sh
    ./configure --prefix=~/local/software/package/google-protobuf
    make
    make check
    make install


2. Clone the Lisp protobuf Git repository to get a local copy and compile
protoc-gen-lisp, the Common Lisp protocol buffer plugin.  The steps required
for Linux are:

    cd /tmp
    git clone git://github.com/brown/protobuf.git

    cd protobuf/protoc/lisp

    # Copy strutil.h from the Google's protocol buffer compiler source
    # directory:
    cp /tmp/google-protobuf/src/google/protobuf/stubs/strutil.h .

    # Change INSTALL_ROOT and PROTOC_ROOT in Makefile.  INSTALL_ROOT indicates
    # where protoc-gen-lisp should be installed.  PROTOC_ROOT indicates where
    # you installed Google's protobuf compiler when you compiled it in step 1.

    # Compile and install the Lisp protoc plugin.
    make install


3. Download and install the Common Lisp packages that protobuf depends on.
First, you'll need ASDF, but it comes pre-installed in most Common Lisp
distributions.  You'll also need com.google.base, which is available via
Quicklisp.  To run all the tests, you'll need the Stefil testing package and
its dependencies: hu.dwim.stefil, hu.dwim.asdf, alexandria.  All of these can
easily be downloaded using Quicklisp.

If you're not using Allegro, CLisp, or SBCL, you may need trivial-utf8, again
available via Quicklisp.


4. Make protobuf and its dependencies available to ASDF.  There are several
ways to do this and you should consult the ASDF documentation to determine what
will work best for you.  If you've downloaded dependencies using Quicklisp,
then ASDF will automatically know about them.

ASDF and its manual are available here:

    http://common-lisp.net/project/asdf/

On my system, I tell ASDF where to find the protobuf system files by creating a
file called source-registry.conf in directory /home/brown/.config/common-lisp/
with the following contents:

  (:source-registry
   (:tree "/home/brown/src/protobuf/")
   :inherit-configuration)


5. Make sure ASDF can execute Google's protocol buffer compiler and the Common
Lisp plugin.  Both protoc and protoc-gen-lisp must be installed in directories
that appear in your shell's PATH environment variable.


6. Compile and load all the protobuf code:

    (asdf:load-system 'protobuf)


7. Optionally, load and run all the tests:

    (asdf:test-system 'varint)
    (asdf:test-system 'protobuf)


8. Compile and run the example code, which shows how to incorporate protocol
buffer definition files into your own projects:

    (asdf:load-system 'protobuf-example)

    (in-package address-book)
    (add-person :id 100
                :name "Robert Brown"
                :email-address "brown@foo.com"
                :phone-numbers '((home . "718-555-1212")
                                 (work . "212-589-1212")
                                 (mobile . "917-555-1212")))
    (list-people)


BUGS
====

Please report bugs and send suggestions on GitHub or contact me directly.  My
email is robert.brown at the mail hosting site gmail.com.


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

2 Systems

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


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

2.1 protobuf

Author

Robert Brown

License

See file COPYING and the copyright messages in individual files.

Description

Protocol buffer code

Long Description

A Common Lisp implementation of Google’s protocol buffer serialization libraries.

Version

0.9.2

Defsystem Dependency

com.google.base

Dependencies
Source

protobuf.asd (file)

Components

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

2.2 varint

Defsystem Dependency

com.google.base

Dependencies
Source

varint.asd (file)

Components

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

3 Files

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


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

3.1 Lisp


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

3.1.1 protobuf.asd

Location

protobuf.asd

Systems

protobuf (system)

Packages
Exported Definitions

*protoc-relative-path* (special variable)

Internal Definitions

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

3.1.2 varint.asd

Location

varint/varint.asd

Systems

varint (system)


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

3.1.3 protobuf/package.lisp

Parent

protobuf (system)

Location

package.lisp

Packages

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

3.1.4 protobuf/protocol-buffer.lisp

Dependency

package.lisp (file)

Parent

protobuf (system)

Location

protocol-buffer.lisp

Exported Definitions
Internal Definitions

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

3.1.5 protobuf/wire-format.lisp

Dependency

package.lisp (file)

Parent

protobuf (system)

Location

wire-format.lisp

Exported Definitions
Internal Definitions

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

3.1.6 varint/package.lisp

Parent

varint (system)

Location

varint/package.lisp

Packages

varint


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

3.1.7 varint/varint.lisp

Dependency

package.lisp (file)

Parent

varint (system)

Location

varint/varint.lisp

Exported Definitions

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

3.2 Static


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

3.2.1 protobuf/COPYING

Parent

protobuf (system)

Location

COPYING


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

3.2.2 protobuf/README

Parent

protobuf (system)

Location

README


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

3.2.3 protobuf/TODO

Parent

protobuf (system)

Location

TODO


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

4 Packages

Packages are listed by definition order.


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

4.1 protobuf-system

System definitions for protocol buffer code.

Source

protobuf.asd

Use List
Internal Definitions

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

4.2 protobuf-config

Configuration information for PROTOBUF.

Source

protobuf.asd

Use List

common-lisp

Used By List

protobuf-system

Exported Definitions

*protoc-relative-path* (special variable)


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

4.3 wire-format

Wire format for protocol buffers.

Source

package.lisp (file)

Use List
Exported Definitions
Internal Definitions

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

4.4 protocol-buffer

Machine generated protocol buffers.

Source

package.lisp (file)

Nickname

pb

Exported Definitions
Internal Definitions

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

4.5 varint

Variable-size encoding and decoding of integers and floats

Source

package.lisp (file)

Use List
Exported Definitions

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

5 Definitions

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


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

5.1 Exported definitions


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

5.1.1 Constants

Constant: +max-octets-32+

Maximum number of octets needed to encode a 32-bit integer.

Package

varint

Source

varint.lisp (file)

Constant: +max-octets-64+

Maximum number of octets needed to encode a 64-bit integer.

Package

varint

Source

varint.lisp (file)


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

5.1.2 Special variables

Special Variable: *protoc-relative-path*

Supply relative proto file paths to protoc, the protobuf compiler?

Package

protobuf-config

Source

protobuf.asd


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

5.1.3 Functions

Function: encode-uint32 BUFFER INDEX V

Encode V, an unsigned 32-bit integer, into BUFFER at INDEX.

Package

varint

Source

varint.lisp (file)

Function: encode-uint32-carefully BUFFER INDEX LIMIT V

Encode V, an unsigned 32-bit integer, into BUFFER at INDEX, taking care to never write past position LIMIT. If writing past LIMIT is required to encode V, then raise ENCODE-OVERFLOW.

Package

varint

Source

varint.lisp (file)

Function: encode-uint64 BUFFER INDEX V

Encode V, an unsigned 64-bit integer, into BUFFER at INDEX.

Package

varint

Source

varint.lisp (file)

Function: encode-uint64-carefully BUFFER INDEX LIMIT V

Encode V, an unsigned 64-bit integer, into BUFFER at INDEX, taking care to never write past position LIMIT. If writing past LIMIT is required to encode V, then raise BUFFER-OVERFLOW.

Package

varint

Source

varint.lisp (file)

Function: length32 V
Package

varint

Source

varint.lisp (file)

Function: length64 V
Package

varint

Source

varint.lisp (file)

Function: parse-int32-carefully BUFFER INDEX LIMIT
Package

varint

Source

varint.lisp (file)

Function: parse-int64-carefully BUFFER INDEX LIMIT
Package

varint

Source

varint.lisp (file)

Function: parse-uint31-carefully BUFFER INDEX LIMIT
Package

varint

Source

varint.lisp (file)

Function: parse-uint32 BUFFER INDEX
Package

varint

Source

varint.lisp (file)

Function: parse-uint32-carefully BUFFER INDEX LIMIT
Package

varint

Source

varint.lisp (file)

Function: parse-uint64 BUFFER INDEX
Package

varint

Source

varint.lisp (file)

Function: parse-uint64-carefully BUFFER INDEX LIMIT
Package

varint

Source

varint.lisp (file)

Function: parse32-backward BUFFER INDEX BASE
Package

varint

Source

varint.lisp (file)

Function: parse32-backward-slow BUFFER INDEX BASE
Package

varint

Source

varint.lisp (file)

Function: parse64-backward BUFFER INDEX BASE
Package

varint

Source

varint.lisp (file)

Function: parse64-backward-slow BUFFER INDEX BASE
Package

varint

Source

varint.lisp (file)

Function: read-boolean-carefully BUFFER INDEX LIMIT
Package

wire-format

Source

wire-format.lisp (file)

Function: read-double-float-carefully BUFFER INDEX LIMIT

Read a DOUBLE-FLOAT from BUFFER starting at INDEX. The float is stored in BUFFER as an 8-octet little-endian IEEE double precision value. Both the float and the index of the first octet following it are returned. If reading the float would require octets beyond LIMIT, then signal PARSE-OVERFLOW.

Package

wire-format

Source

wire-format.lisp (file)

Function: read-int32-carefully BUFFER INDEX LIMIT
Package

wire-format

Source

wire-format.lisp (file)

Function: read-int64-carefully BUFFER INDEX LIMIT
Package

wire-format

Source

wire-format.lisp (file)

Function: read-octets-carefully BUFFER INDEX LIMIT
Package

wire-format

Source

wire-format.lisp (file)

Function: read-single-float-carefully BUFFER INDEX LIMIT

Read a SINGLE-FLOAT from BUFFER starting at INDEX. The float is stored in BUFFER as a 4-octet little-endian IEEE single precision value. Both the float and the index of the first octet following it are returned. If reading the float would require octets beyond LIMIT, then signal PARSE-OVERFLOW.

Package

wire-format

Source

wire-format.lisp (file)

Function: read-uint32-carefully BUFFER INDEX LIMIT
Package

wire-format

Source

wire-format.lisp (file)

Function: read-uint64-carefully BUFFER INDEX LIMIT
Package

wire-format

Source

wire-format.lisp (file)

Function: skip-field BUFFER INDEX LIMIT START-TAG
Package

wire-format

Source

wire-format.lisp (file)

Function: skip32-backward BUFFER INDEX BASE
Package

varint

Source

varint.lisp (file)

Function: skip32-backward-slow BUFFER INDEX BASE
Package

varint

Source

varint.lisp (file)

Function: skip32-carefully BUFFER INDEX LIMIT
Package

varint

Source

varint.lisp (file)

Function: skip64-backward BUFFER INDEX BASE
Package

varint

Source

varint.lisp (file)

Function: skip64-backward-slow BUFFER INDEX BASE
Package

varint

Source

varint.lisp (file)

Function: skip64-carefully BUFFER INDEX LIMIT
Package

varint

Source

varint.lisp (file)

Function: string-field VALUE

Returns a new %SF% instance initialized to hold VALUE, which much be either a Lisp string or a vector of UTF-8 encoded octets.

Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Function: string-value STRING-FIELD

Returns STRING-FIELD’s value as a Lisp string.

Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Function: utf8-string-value STRING-FIELD

Returns STRING-FIELD’s value as a UTF-8 encoded vector of octets.

Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Function: write-boolean-carefully BUFFER INDEX LIMIT VALUE
Package

wire-format

Source

wire-format.lisp (file)

Function: write-double-float-carefully BUFFER INDEX LIMIT FLOAT

Write the little-endian IEEE binary representation of single precision FLOAT to BUFFER starting at INDEX. Return the index value of the first octet following FLOAT. If encoding FLOAT requires space in BUFFER past LIMIT, then signal ENCODE-OVERFLOW.

Package

wire-format

Source

wire-format.lisp (file)

Function: write-int32-carefully BUFFER INDEX LIMIT VALUE
Package

wire-format

Source

wire-format.lisp (file)

Function: write-int64-carefully BUFFER INDEX LIMIT VALUE
Package

wire-format

Source

wire-format.lisp (file)

Function: write-octets-carefully BUFFER INDEX LIMIT OCTETS
Package

wire-format

Source

wire-format.lisp (file)

Function: write-single-float-carefully BUFFER INDEX LIMIT FLOAT

Write the little-endian IEEE binary representation of double precision FLOAT to BUFFER starting at INDEX. Return the index value of the first octet following FLOAT. If encoding FLOAT requires space in BUFFER past LIMIT, then signal ENCODE-OVERFLOW.

Package

wire-format

Source

wire-format.lisp (file)

Function: write-uint32-carefully BUFFER INDEX LIMIT VALUE
Package

wire-format

Source

wire-format.lisp (file)

Function: write-uint64-carefully BUFFER INDEX LIMIT VALUE
Package

wire-format

Source

wire-format.lisp (file)

Function: zig-zag-decode32 V
Package

wire-format

Source

wire-format.lisp (file)

Function: zig-zag-decode64 V
Package

wire-format

Source

wire-format.lisp (file)

Function: zig-zag-encode32 V
Package

wire-format

Source

wire-format.lisp (file)

Function: zig-zag-encode64 V
Package

wire-format

Source

wire-format.lisp (file)


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

5.1.4 Generic functions

Generic Function: clear PROTOCOL-BUFFER

Sets the slots of PROTOCOL-BUFFER to their default values.

Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Generic Function: is-initialized PROTOCOL-BUFFER

Are all the slots of PROTOCOL-BUFFER initialized?

Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Generic Function: merge-from-array PROTOCOL-BUFFER BUFFER START LIMIT

Merges the contents of the encoded protocol buffer stored in BUFFER into PROTOCOL-BUFFER. When reading from BUFFER, begins at position START and does not read from position LIMIT or higher. If deserialization demands reading beyond LIMIT, then signals PROTOCOL-BUFFER-READ-ERROR.

Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Generic Function: merge-from-message PROTOCOL-BUFFER SOURCE-PROTOCOL-BUFFER

Merges the contents of SOURCE-PROTOCOL-BUFFER into PROTOCOL-BUFFER.

Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Generic Function: octet-size PROTOCOL-BUFFER

Returns the number of octets required to represent PROTOCOL-BUFFER when it is encoded.

Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Generic Function: serialize PROTOCOL-BUFFER BUFFER INDEX LIMIT

Serializes PROTOCOL-BUFFER into BUFFER. Starts writing at position INDEX of BUFFER, but does not write into position LIMIT or higher. If serialization demands writing past LIMIT, then signals PROTOCOL-BUFFER-WRITE-ERROR.

OCTET-SIZE must be called immediately before SERIALIZE because PROTOCOL-BUFFER instances cache size information.

Package

protocol-buffer

Source

protocol-buffer.lisp (file)


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

5.1.5 Conditions

Condition: alignment ()

Bad data encountered while skipping a field.

Package

wire-format

Source

wire-format.lisp (file)

Direct superclasses

parsing-error (condition)

Condition: alignment ()

Data buffer does not contain the type of value we have been asked to skip over or parse backwards.

Package

varint

Source

varint.lisp (file)

Direct superclasses

parsing-error (condition)

Condition: buffer-overflow ()

Buffer space exhausted while encoding a value.

Package

wire-format

Source

wire-format.lisp (file)

Direct superclasses

encoding-error (condition)

Condition: buffer-overflow ()

Buffer space exhausted while encoding a value.

Package

varint

Source

varint.lisp (file)

Direct superclasses

encoding-error (condition)

Condition: data-exhausted ()

Decoding a value requires more data than is available.

Package

wire-format

Source

wire-format.lisp (file)

Direct superclasses

parsing-error (condition)

Condition: data-exhausted ()

Decoding a value requires more data than is available.

Package

varint

Source

varint.lisp (file)

Direct superclasses

parsing-error (condition)

Condition: encoding-error ()

Superclass of conditions signalled while encoding values.

Package

wire-format

Source

wire-format.lisp (file)

Direct superclasses

protocol-error (condition)

Direct subclasses

buffer-overflow (condition)

Condition: encoding-error ()

Superclass of all VARINT encoding conditions.

Package

varint

Source

varint.lisp (file)

Direct superclasses

varint-error (condition)

Direct subclasses

buffer-overflow (condition)

Condition: parsing-error ()

Superclass of conditions signalled while decoding values.

Package

wire-format

Source

wire-format.lisp (file)

Direct superclasses

protocol-error (condition)

Direct subclasses
Condition: parsing-error ()

Superclass of all VARINT decoding conditions.

Package

varint

Source

varint.lisp (file)

Direct superclasses

varint-error (condition)

Direct subclasses
Condition: protocol-error ()

Superclass of all PROTOCOL-BUFFER conditions.

Package

wire-format

Source

wire-format.lisp (file)

Direct superclasses

error (condition)

Direct subclasses
Condition: value-out-of-range ()

Value decoded is outside the range of the return type.

Package

wire-format

Source

wire-format.lisp (file)

Direct superclasses

parsing-error (condition)

Condition: value-out-of-range ()

Value decoded is outside the range of the return type.

Package

varint

Source

varint.lisp (file)

Direct superclasses

parsing-error (condition)

Condition: varint-error ()

Superclass of all VARINT conditions.

Package

varint

Source

varint.lisp (file)

Direct superclasses

error (condition)

Direct subclasses

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

5.1.6 Classes

Class: protocol-buffer ()

Superclass of all protocol buffer classes.

Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Direct superclasses

standard-object (class)


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

5.2 Internal definitions


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

5.2.1 Constants

Constant: +end-group+

Wire type marking the end of a group.

Package

wire-format

Source

wire-format.lisp (file)

Constant: +fixed32+

Wire type used for 4-byte integers or single precision floats.

Package

wire-format

Source

wire-format.lisp (file)

Constant: +fixed64+

Wire type used for 8-byte integers or double precision floats.

Package

wire-format

Source

wire-format.lisp (file)

Constant: +length-delimited+

Wire type used for length delimited values, such as character strings.

Package

wire-format

Source

wire-format.lisp (file)

Constant: +start-group+

Wire type marking the start of a group.

Package

wire-format

Source

wire-format.lisp (file)

Constant: +varint+

Wire type used for variable length integers.

Package

wire-format

Source

wire-format.lisp (file)


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

5.2.2 Symbol macros

Symbol Macro: +double-float-nan+
Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Expansion

#<double-float quiet nan>

Symbol Macro: +double-float-negative-infinity+
Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Expansion

double-float-negative-infinity

Symbol Macro: +double-float-positive-infinity+
Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Expansion

double-float-positive-infinity

Symbol Macro: +single-float-nan+
Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Expansion

#<single-float quiet nan>

Symbol Macro: +single-float-negative-infinity+
Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Expansion

single-float-negative-infinity

Symbol Macro: +single-float-positive-infinity+
Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Expansion

single-float-positive-infinity


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

5.2.3 Functions

Function: %utf8-string-length% STRING-FIELD

Returns the length in octets of STRING-FIELD’s value.

Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Function: proto-input PROTOBUF-SOURCE-FILE

Returns the pathname of the protocol buffer definition file that must be translated into Lisp source code for this PROTO-FILE component.

Package

protobuf-system

Source

protobuf.asd

Function: resolve-relative-pathname PATH PARENT-PATH

When PATH doesn’t have an absolute directory component, treat it as relative to PARENT-PATH.

Package

protobuf-system

Source

protobuf.asd

Function: resolve-search-path PROTOBUF-SOURCE-FILE
Package

protobuf-system

Source

protobuf.asd


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

5.2.4 Generic functions

Generic Function: %octets% OBJECT
Generic Function: (setf %octets%) NEW-VALUE OBJECT
Package

protocol-buffer

Methods
Method: %octets% (%SF% %sf%)
Method: (setf %octets%) NEW-VALUE (%SF% %sf%)

Octet vector that holds the string field’s value.

Source

protocol-buffer.lisp (file)

Generic Function: shell-command CONDITION
Package

protobuf-system

Methods
Method: shell-command (CONDITION protobuf-compile-failed)
Source

protobuf.asd


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

5.2.5 Conditions

Condition: protobuf-compile-failed ()

Condition signalled when translating a .proto file into Lisp code fails.

Package

protobuf-system

Source

protobuf.asd

Direct superclasses

compile-failed (condition)

Direct methods

shell-command (method)

Direct slots
Slot: shell-command
Initargs

:shell-command

Readers

shell-command (generic function)


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

5.2.6 Classes

Class: %sf% ()

A protocol buffer string field.

Package

protocol-buffer

Source

protocol-buffer.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
  • print-object (method)
  • %octets% (method)
  • %octets% (method)
Direct slots
Slot: %octets%

Octet vector that holds the string field’s value.

Type

com.google.base:octet-vector

Initargs

:octets

Initform

(make-array 0 :element-type (quote (unsigned-byte 8)))

Readers

%octets% (generic function)

Writers

(setf %octets%) (generic function)

Class: proto-to-lisp ()

An ASDF operation that compiles a .proto file containing protocol buffer definitions into a Lisp source file.

Package

protobuf-system

Source

protobuf.asd

Direct superclasses
  • selfward-operation (class)
  • downward-operation (class)
Direct methods
  • perform (method)
  • perform (method)
  • output-files (method)
  • input-files (method)
Direct slots
Slot: selfward-operation
Allocation

:class

Initform

(quote asdf/lisp-action:prepare-op)


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

5.2.7 Types

Type: wire-type ()

Integer determining how a value is serialized.

Package

wire-format

Source

wire-format.lisp (file)


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

Appendix A Indexes


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

A.1 Concepts

Jump to:   F   L   P   S   V  
Index Entry  Section

F
File, Lisp, protobuf.asd: The protobuf․asd file
File, Lisp, protobuf/package.lisp: The protobuf/package․lisp file
File, Lisp, protobuf/protocol-buffer.lisp: The protobuf/protocol-buffer․lisp file
File, Lisp, protobuf/wire-format.lisp: The protobuf/wire-format․lisp file
File, Lisp, varint.asd: The varint․asd file
File, Lisp, varint/package.lisp: The varint/package․lisp file
File, Lisp, varint/varint.lisp: The varint/varint․lisp file
File, static, protobuf/COPYING: The protobuf/copying file
File, static, protobuf/README: The protobuf/readme file
File, static, protobuf/TODO: The protobuf/todo file

L
Lisp File, protobuf.asd: The protobuf․asd file
Lisp File, protobuf/package.lisp: The protobuf/package․lisp file
Lisp File, protobuf/protocol-buffer.lisp: The protobuf/protocol-buffer․lisp file
Lisp File, protobuf/wire-format.lisp: The protobuf/wire-format․lisp file
Lisp File, varint.asd: The varint․asd file
Lisp File, varint/package.lisp: The varint/package․lisp file
Lisp File, varint/varint.lisp: The varint/varint․lisp file

P
protobuf.asd: The protobuf․asd file
protobuf/COPYING: The protobuf/copying file
protobuf/package.lisp: The protobuf/package․lisp file
protobuf/protocol-buffer.lisp: The protobuf/protocol-buffer․lisp file
protobuf/README: The protobuf/readme file
protobuf/TODO: The protobuf/todo file
protobuf/wire-format.lisp: The protobuf/wire-format․lisp file

S
Static File, protobuf/COPYING: The protobuf/copying file
Static File, protobuf/README: The protobuf/readme file
Static File, protobuf/TODO: The protobuf/todo file

V
varint.asd: The varint․asd file
varint/package.lisp: The varint/package․lisp file
varint/varint.lisp: The varint/varint․lisp file

Jump to:   F   L   P   S   V  

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

A.2 Functions

Jump to:   %   (  
C   E   F   G   I   L   M   O   P   R   S   U   W   Z  
Index Entry  Section

%
%octets%: Internal generic functions
%octets%: Internal generic functions
%utf8-string-length%: Internal functions

(
(setf %octets%): Internal generic functions
(setf %octets%): Internal generic functions

C
clear: Exported generic functions

E
encode-uint32: Exported functions
encode-uint32-carefully: Exported functions
encode-uint64: Exported functions
encode-uint64-carefully: Exported functions

F
Function, %utf8-string-length%: Internal functions
Function, encode-uint32: Exported functions
Function, encode-uint32-carefully: Exported functions
Function, encode-uint64: Exported functions
Function, encode-uint64-carefully: Exported functions
Function, length32: Exported functions
Function, length64: Exported functions
Function, parse-int32-carefully: Exported functions
Function, parse-int64-carefully: Exported functions
Function, parse-uint31-carefully: Exported functions
Function, parse-uint32: Exported functions
Function, parse-uint32-carefully: Exported functions
Function, parse-uint64: Exported functions
Function, parse-uint64-carefully: Exported functions
Function, parse32-backward: Exported functions
Function, parse32-backward-slow: Exported functions
Function, parse64-backward: Exported functions
Function, parse64-backward-slow: Exported functions
Function, proto-input: Internal functions
Function, read-boolean-carefully: Exported functions
Function, read-double-float-carefully: Exported functions
Function, read-int32-carefully: Exported functions
Function, read-int64-carefully: Exported functions
Function, read-octets-carefully: Exported functions
Function, read-single-float-carefully: Exported functions
Function, read-uint32-carefully: Exported functions
Function, read-uint64-carefully: Exported functions
Function, resolve-relative-pathname: Internal functions
Function, resolve-search-path: Internal functions
Function, skip-field: Exported functions
Function, skip32-backward: Exported functions
Function, skip32-backward-slow: Exported functions
Function, skip32-carefully: Exported functions
Function, skip64-backward: Exported functions
Function, skip64-backward-slow: Exported functions
Function, skip64-carefully: Exported functions
Function, string-field: Exported functions
Function, string-value: Exported functions
Function, utf8-string-value: Exported functions
Function, write-boolean-carefully: Exported functions
Function, write-double-float-carefully: Exported functions
Function, write-int32-carefully: Exported functions
Function, write-int64-carefully: Exported functions
Function, write-octets-carefully: Exported functions
Function, write-single-float-carefully: Exported functions
Function, write-uint32-carefully: Exported functions
Function, write-uint64-carefully: Exported functions
Function, zig-zag-decode32: Exported functions
Function, zig-zag-decode64: Exported functions
Function, zig-zag-encode32: Exported functions
Function, zig-zag-encode64: Exported functions

G
Generic Function, %octets%: Internal generic functions
Generic Function, (setf %octets%): Internal generic functions
Generic Function, clear: Exported generic functions
Generic Function, is-initialized: Exported generic functions
Generic Function, merge-from-array: Exported generic functions
Generic Function, merge-from-message: Exported generic functions
Generic Function, octet-size: Exported generic functions
Generic Function, serialize: Exported generic functions
Generic Function, shell-command: Internal generic functions

I
is-initialized: Exported generic functions

L
length32: Exported functions
length64: Exported functions

M
merge-from-array: Exported generic functions
merge-from-message: Exported generic functions
Method, %octets%: Internal generic functions
Method, (setf %octets%): Internal generic functions
Method, shell-command: Internal generic functions

O
octet-size: Exported generic functions

P
parse-int32-carefully: Exported functions
parse-int64-carefully: Exported functions
parse-uint31-carefully: Exported functions
parse-uint32: Exported functions
parse-uint32-carefully: Exported functions
parse-uint64: Exported functions
parse-uint64-carefully: Exported functions
parse32-backward: Exported functions
parse32-backward-slow: Exported functions
parse64-backward: Exported functions
parse64-backward-slow: Exported functions
proto-input: Internal functions

R
read-boolean-carefully: Exported functions
read-double-float-carefully: Exported functions
read-int32-carefully: Exported functions
read-int64-carefully: Exported functions
read-octets-carefully: Exported functions
read-single-float-carefully: Exported functions
read-uint32-carefully: Exported functions
read-uint64-carefully: Exported functions
resolve-relative-pathname: Internal functions
resolve-search-path: Internal functions

S
serialize: Exported generic functions
shell-command: Internal generic functions
shell-command: Internal generic functions
skip-field: Exported functions
skip32-backward: Exported functions
skip32-backward-slow: Exported functions
skip32-carefully: Exported functions
skip64-backward: Exported functions
skip64-backward-slow: Exported functions
skip64-carefully: Exported functions
string-field: Exported functions
string-value: Exported functions

U
utf8-string-value: Exported functions

W
write-boolean-carefully: Exported functions
write-double-float-carefully: Exported functions
write-int32-carefully: Exported functions
write-int64-carefully: Exported functions
write-octets-carefully: Exported functions
write-single-float-carefully: Exported functions
write-uint32-carefully: Exported functions
write-uint64-carefully: Exported functions

Z
zig-zag-decode32: Exported functions
zig-zag-decode64: Exported functions
zig-zag-encode32: Exported functions
zig-zag-encode64: Exported functions

Jump to:   %   (  
C   E   F   G   I   L   M   O   P   R   S   U   W   Z  

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

A.3 Variables

Jump to:   %   *   +  
C   S  
Index Entry  Section

%
%octets%: Internal classes

*
*protoc-relative-path*: Exported special variables

+
+double-float-nan+: Internal symbol macros
+double-float-negative-infinity+: Internal symbol macros
+double-float-positive-infinity+: Internal symbol macros
+end-group+: Internal constants
+fixed32+: Internal constants
+fixed64+: Internal constants
+length-delimited+: Internal constants
+max-octets-32+: Exported constants
+max-octets-64+: Exported constants
+single-float-nan+: Internal symbol macros
+single-float-negative-infinity+: Internal symbol macros
+single-float-positive-infinity+: Internal symbol macros
+start-group+: Internal constants
+varint+: Internal constants

C
Constant, +end-group+: Internal constants
Constant, +fixed32+: Internal constants
Constant, +fixed64+: Internal constants
Constant, +length-delimited+: Internal constants
Constant, +max-octets-32+: Exported constants
Constant, +max-octets-64+: Exported constants
Constant, +start-group+: Internal constants
Constant, +varint+: Internal constants

S
selfward-operation: Internal classes
shell-command: Internal conditions
Slot, %octets%: Internal classes
Slot, selfward-operation: Internal classes
Slot, shell-command: Internal conditions
Special Variable, *protoc-relative-path*: Exported special variables
Symbol Macro, +double-float-nan+: Internal symbol macros
Symbol Macro, +double-float-negative-infinity+: Internal symbol macros
Symbol Macro, +double-float-positive-infinity+: Internal symbol macros
Symbol Macro, +single-float-nan+: Internal symbol macros
Symbol Macro, +single-float-negative-infinity+: Internal symbol macros
Symbol Macro, +single-float-positive-infinity+: Internal symbol macros

Jump to:   %   *   +  
C   S  

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

A.4 Data types

Jump to:   %  
A   B   C   D   E   P   S   T   V   W  
Index Entry  Section

%
%sf%: Internal classes

A
alignment: Exported conditions
alignment: Exported conditions

B
buffer-overflow: Exported conditions
buffer-overflow: Exported conditions

C
Class, %sf%: Internal classes
Class, proto-to-lisp: Internal classes
Class, protocol-buffer: Exported classes
Condition, alignment: Exported conditions
Condition, alignment: Exported conditions
Condition, buffer-overflow: Exported conditions
Condition, buffer-overflow: Exported conditions
Condition, data-exhausted: Exported conditions
Condition, data-exhausted: Exported conditions
Condition, encoding-error: Exported conditions
Condition, encoding-error: Exported conditions
Condition, parsing-error: Exported conditions
Condition, parsing-error: Exported conditions
Condition, protobuf-compile-failed: Internal conditions
Condition, protocol-error: Exported conditions
Condition, value-out-of-range: Exported conditions
Condition, value-out-of-range: Exported conditions
Condition, varint-error: Exported conditions

D
data-exhausted: Exported conditions
data-exhausted: Exported conditions

E
encoding-error: Exported conditions
encoding-error: Exported conditions

P
Package, protobuf-config: The protobuf-config package
Package, protobuf-system: The protobuf-system package
Package, protocol-buffer: The protocol-buffer package
Package, varint: The varint package
Package, wire-format: The wire-format package
parsing-error: Exported conditions
parsing-error: Exported conditions
proto-to-lisp: Internal classes
protobuf: The protobuf system
protobuf-compile-failed: Internal conditions
protobuf-config: The protobuf-config package
protobuf-system: The protobuf-system package
protocol-buffer: The protocol-buffer package
protocol-buffer: Exported classes
protocol-error: Exported conditions

S
System, protobuf: The protobuf system
System, varint: The varint system

T
Type, wire-type: Internal types

V
value-out-of-range: Exported conditions
value-out-of-range: Exported conditions
varint: The varint system
varint: The varint package
varint-error: Exported conditions

W
wire-format: The wire-format package
wire-type: Internal types

Jump to:   %  
A   B   C   D   E   P   S   T   V   W