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.3, generated automatically by Declt version 3.0 "Montgomery Scott" on Wed Oct 13 12:14:01 2021 GMT+0.


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

1 Introduction

Protobuf

Protobuf is a Common Lisp implementation of Google's protocol buffers, version 2. The repository contains a compiler from protocol buffer source code (.proto files) to Lisp and also run-time support needed by the generated Lisp code.

Protobuf passes all but a couple of the required proto2 tests in Google's conformance test suite. It implements neither the JSON nor text encoding formats.

Protobuf 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.

Installation

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 code and instructions here assume you are using release 3.6.1.

The steps for installing protoc from source are approximately:

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

You can also install protoc by downloading a tar or zip archive for a specific release from here.

After you have installed protoc, clone this Git repository to create a local copy and compile protoc-gen-lisp, the Common Lisp protocol buffer plugin. The required steps for Linux are approximately:

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 that you downloaded earlier:
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

Once both protoc and protoc-gen-lisp are installed, 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 the com.google.base package, 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.

Once you have acquired all Protobuf's dependencies, make them 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 automatically knows about them.

ASDF and its manual are available here.

On my system, I tell ASDF where to find Protobuf's 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)

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.

Compile and load all the protobuf code:

(asdf:load-system 'protobuf)

Optionally, load and run all the tests:

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

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 <robert.brown@gmail.com>

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.3

Defsystem Dependency

com.google.base

Dependencies
Source

protobuf.asd (file)

Components

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

2.2 varint

Author

Robert Brown <robert.brown@gmail.com>

License

New BSD license. See the copyright messages in individual files.

Description

Variable-size encoding and decoding of integers.

Version

0.1

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

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.md

Parent

protobuf (system)

Location

README.md


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

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

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: +end-group+

Wire type marking the end of a group. Deprecated.

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 strings, bytes, embedded messages, and packed repeated fields.

Package

wire-format

Source

wire-format.lisp (file)

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)

Constant: +start-group+

Wire type marking the start of a group. Deprecated.

Package

wire-format

Source

wire-format.lisp (file)

Constant: +varint+

Wire type used for variable length integers, booleans, and enums.

Package

wire-format

Source

wire-format.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: length-int32 V
Package

varint

Source

varint.lisp (file)

Function: length-uint32 V
Package

varint

Source

varint.lisp (file)

Function: length-uint64 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-tag BUFFER INDEX LIMIT

Parses the varint protobuf tag at position INDEX of BUFFER, being careful to only read positions below LIMIT. When successful, returns three integers: the field number, the encoding wire type, and the position in BUFFER where the field value is stored.

PARSE-TAG signals DATA-EXHAUSTED, when parsing the tag requires reading beyond LIMIT, and signals VALUE-OUT-OF-RANGE, when the field number is zero or the encoded tag is too large.

Package

wire-format

Source

wire-format.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 DATA-EXHAUSTED.

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 DATA-EXHAUSTED.

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 FIELD-NUMBER WIRE-TYPE BUFFER INDEX LIMIT
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 BUFFER-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 BUFFER-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

Next: , 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: Exported definitions   [Contents][Index]

5.1.7 Types

Type: field-number ()

Protocol buffer field number.

Package

wire-format

Source

wire-format.lisp (file)

Type: wire-type ()

Integer representing how a protobuf field value is serialized.

Package

wire-format

Source

wire-format.lisp (file)


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

5.2 Internal definitions


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

5.2.1 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.2 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.3 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)


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

5.2.4 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-error (condition)


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

5.2.5 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: 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.md: The protobuf/readme․md 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.md: The protobuf/readme․md 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.md: The protobuf/readme․md 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, length-int32: Exported functions
Function, length-uint32: Exported functions
Function, length-uint64: Exported functions
Function, parse-int32-carefully: Exported functions
Function, parse-int64-carefully: Exported functions
Function, parse-tag: 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

I
is-initialized: Exported generic functions

L
length-int32: Exported functions
length-uint32: Exported functions
length-uint64: 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

O
octet-size: Exported generic functions

P
parse-int32-carefully: Exported functions
parse-int64-carefully: Exported functions
parse-tag: 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
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+: Exported constants
+fixed32+: Exported constants
+fixed64+: Exported constants
+length-delimited+: Exported 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+: Exported constants
+varint+: Exported constants

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

S
selfward-operation: Internal classes
Slot, %octets%: Internal classes
Slot, selfward-operation: Internal classes
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   F   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

F
field-number: Exported types

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, field-number: Exported types
Type, wire-type: Exported 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: Exported types

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