(index ("deserialize" 0) ("serialize" 306) ("current-serialization-context" 611) ("make-serialization-context" 934) ("serialization-context?" 1349) ("serialization-info" 1489) ("prop:serialization-info" 1678) ("serialize" 1879) ("deserialize" 2439) ("type-info" 2979) ("primitive-info" 3232) ("enum-info" 3720) ("message-info" 4165) ("field-info" 4740) ("message" 5627) ("int32" 6052) ("int64" 6052) ("uint32" 6052) ("uint64" 6052) ("sint32" 6052) ("sint64" 6052) ("fixed32" 6052) ("fixed64" 6052) ("sfixed32" 6052) ("sfixed64" 6052) ("bool" 6052) ("float" 6052) ("double" 6052) ("bytes" 6052) ("string" 6052) ("uint*" 6612) ("sint*" 6612) ("define-enum-type" 7150) ("make-limited-input-port" 7272) ("read-uint*" 7500) ("write-uint*" 7858) ("read-sint*" 8220) ("write-sint*" 8584) ("read-int*" 8952) ("write-int*" 9228) ("read-bool" 9508) ("write-bool" 9660) ("read-fixed*" 9816) ("write-fixed*" 10062) ("read-fixed32" 10312) ("write-fixed32" 10418) ("read-fixed64" 10527) ("write-fixed64" 10633) ("read-sfixed32" 10742) ("write-sfixed32" 10850) ("read-sfixed64" 10961) ("write-sfixed64" 11069) ("read-float*" 11180) ("write-float*" 11402) ("read-float" 11628) ("write-float" 11727) ("read-double" 11829) ("write-double" 11930) ("read-sized-bytes" 12034) ("write-sized-bytes" 12241) ("read-sized-string" 12455) ("write-sized-string" 12644) ("read-sized" 12839) ("write-sized" 13076) ("read-tag/type" 13314) ("write-tag/type" 13625))
(def (sig (procedure "(deserialize TYPE [PORT])" (id deserialize))) (p "Deserializes a binary protocol buffer stream from " (tt "PORT") " (or " (tt "(current-input-port)") ") into a record of the given " (tt "TYPE") ", which must be the SRFI-99 record type descriptor of a protocol buffer message type."))
(def (sig (procedure "(serialize MSG [PORT])" (id serialize))) (p "Serializes the protocol buffer message " (tt "MSG") " to the " (tt "PORT") " (or " (tt "(current-output-port)") ") as a binary protocol buffer stream. " (tt "MSG") " must be a SRFI-99 record instance of a protocol buffer message type."))
(def (sig (parameter "current-serialization-context" (id current-serialization-context))) (p "Holds the current default serialization context, an object that tracks the identity of values that have already been serialized or deserialized.") (p "The parameter value may also be " (tt "#f") ", which is its default value."))
(def (sig (procedure "(make-serialization-context [V ...])" (id make-serialization-context))) (p "Creates a serialization context and initializes it with a set of well known values. This can be used to replace certain non-serializable values with \"external\" references upon serialization and to inject those external dependencies upon deserialization. The context always sees itself as an external dependency."))
(def (sig (procedure "(serialization-context? V)" (id serialization-context?))) (p "Checks whether something is a serialization context."))
(def (sig (type "serialization-info" (id serialization-info))) (p "A SRFI-99 record type holding a custom " (tt "reader") " and " (tt "writer") " procedures in its two immutable fields."))
(def (sig (constant "prop:serialization-info" (id prop:serialization-info))) (p "A record property that associates a " (tt "serialization-info") " structure with SRFI-99 record types and instances."))
(def (sig (procedure "(serialize V [PORT] [CONTEXT])" (id serialize))) (p "Writes the value " (tt "V") " in generic protocol buffer format to the " (tt "PORT") " (defaulting to " (tt "(current-output-port)") "). The given " (tt "CONTEXT") " (defaulting to " (tt "(current-serialization-context)") ") is used to track serialized values, allowing the correct external representation of shared structure.") (p "If the context is " (tt "#f") ", a new context is allocated and initialized with the current input, output and error ports as external dependencies."))
(def (sig (procedure "(deserialize [PORT] [CONTEXT])" (id deserialize))) (p "Reads a value in generic protocol buffer format from the " (tt "PORT") " (defaulting to " (tt "(current-input-port)") "). The given " (tt "CONTEXT") " (defaulting to " (tt "(current-serialization-context)") ") is used to track deserialized values, allowing the correct reconstruction of shared structure.") (p "If the context is " (tt "#f") ", a new context is allocated and initialized with the current input, output and error ports as external dependencies."))
(def (sig (type "type-info" (id type-info))) (p "A SRFI-99 record type that serves as the basis for primitive, enumeration or message type descriptors. It contains just an immutable " (tt "name") " field.") (p "This abstract type has no constructor."))
(def (sig (type "primitive-info" (id primitive-info))) (p "The record type of descriptors for primitive protocol buffer wire types. It contains") (ul (li "an immutable " (tt "type") " field holding the uninterpreted wire type of the primitive,") (li "an immutable " (tt "reader") " field holding a read-like procedure to deserialize an instance of the primitive and") (li "an immutable " (tt "writer") " field holding a write-like procedure to serialize an instance of the primitive.")))
(def (sig (type "enum-info" (id enum-info))) (p "The record type of descriptors for protocol buffer enumeration types. It contains") (ul (li "an immutable " (tt "integer->enum") " field holding a procedure that converts the integer representation of an enumeration item into a symbol and") (li "an immutable " (tt "enum->integer") " field holding a procedure that converts the symbolic representation of an enumeration item into an integer.")))
(def (sig (type "message-info" (id message-info))) (p "The record type of descriptors for protocol buffer message types. It contains") (ul (li "an immutable " (tt "constructor") " field holding a procedure that creates a new message instance taking only keyword arguments to fill the instance fields,") (li "an immutable " (tt "fields") " field holding a hash table that maps numeric field tags to field information records and") (li "an immutable " (tt "required") " field holding a hash table that maps the numeric tags of required fields to their information records.")))
(def (sig (type "field-info" (id field-info))) (p "The record type of message field descriptors. It contains") (ul (li "an immutable " (tt "type") " field holding a promise,") (li "an immutable " (tt "repeated?") " field holding a boolean,") (li "an immutable " (tt "packed?") " field holding a boolean,") (li "an immutable " (tt "accessor") " field holding a procedure from instances of the containing message type to values of the field, with an optional default argument, and") (li "an immutable " (tt "mutator") " field holding a procedure that sets the field value in an instance of the containing message type.")) (p "The " (tt "type") " field refers to a SRFI-99 record type descriptor of another protocol buffer message or to an enumeration or primitive type descriptor record. The " (tt "field-info-type") " accessor automatically forces the promise contained in this field."))
(def (sig (type "message" (id message))) (p "A SRFI-99 record type that serves as the basis for any protocol buffer message type. It contains") (ul (li "an immutable " (tt "extensions") " field containing a hash table that maps extension tags to their deserialized values and") (li "a mutable " (tt "unknown") " field containing any serial data that could not be interpreted.")) (p "This abstract type has no constructor."))
(def (sig (constant "int32" (id int32)) (constant "int64" (id int64)) (constant "uint32" (id uint32)) (constant "uint64" (id uint64)) (constant "sint32" (id sint32)) (constant "sint64" (id sint64)) (constant "fixed32" (id fixed32)) (constant "fixed64" (id fixed64)) (constant "sfixed32" (id sfixed32)) (constant "sfixed64" (id sfixed64)) (constant "bool" (id bool)) (constant "float" (id float)) (constant "double" (id double)) (constant "bytes" (id bytes)) (constant "string" (id string))) (p "Descriptors for the standard primitive protocol buffer types."))
(def (sig (procedure "(uint* MAX-SIZE)" (id uint*)) (procedure "(sint* MAX-SIZE)" (id sint*))) (p "Constructors for primitive type descriptors compatible with standard unsigned or signed integers, but with arbitrary maximum encoding size. " (tt "MAX-SIZE") " can also be " (tt "#f") " to allow arbitrary precision integers.") (p "The protocol compiler plugin allows access to these types through a " (tt "max_size") " extension to the " (tt "google.protobuf.FieldOptions") " message defined in " (tt "extend/protobuf/bigint.proto") "."))
(def (sig (syntax "(define-enum-type NAME (ITEM TAG) ...)" (id define-enum-type))) (p "Defines a new enumeration type."))
(def (sig (procedure "(make-limited-input-port PORT LIMIT CLOSE-ORIG?)" (id make-limited-input-port))) (p "Creates an input port reading up to " (tt "LIMIT") " bytes from " (tt "PORT") " before entering an end-of-file state."))
(def (sig (procedure "(read-uint* [PORT] [MAX-SIZE])" (id read-uint*))) (p "Reads a variable length base 128 encoded unsigned integer from " (tt "PORT") " (defaulting to " (tt "(current-input-port)") "). Stops with a syntax error if the encoding is longer than " (tt "MAX-SIZE") " bytes (defaulting to 10); pass " (tt "#f") " to disable the length check."))
(def (sig (procedure "(write-uint* N [PORT] [MAX-SIZE])" (id write-uint*))) (p "Writes a variable length base 128 encoded unsigned integer to " (tt "PORT") " (defaulting to " (tt "(current-output-port)") "). Stops with a syntax error if the encoding is longer than " (tt "MAX-SIZE") " bytes (defaulting to 10); pass " (tt "#f") " to disable the length check."))
(def (sig (procedure "(read-sint* [PORT] [MAX-SIZE])" (id read-sint*))) (p "Reads a variable length base 128 zig-zag-encoded signed integer from " (tt "PORT") " (defaulting to " (tt "(current-input-port)") "). Stops with a syntax error if the encoding is longer than " (tt "MAX-SIZE") " bytes (defaulting to 10); pass " (tt "#f") " to disable the length check."))
(def (sig (procedure "(write-sint* I [PORT] [MAX-SIZE])" (id write-sint*))) (p "Writes a variable length base 128 zig-zag-encoded signed integer to " (tt "PORT") " (defaulting to " (tt "(current-output-port)") "). Stops with a syntax error if the encoding is longer than " (tt "MAX-SIZE") " bytes (defaulting to 10); pass " (tt "#f") " to disable the length check."))
(def (sig (procedure "(read-int* [PORT])" (id read-int*))) (p "Reads a variable length base 128 two's complement encoded signed integer from " (tt "PORT") " (defaulting to " (tt "(current-input-port)") "). Stops with a syntax error if the encoding is longer than 10 bytes."))
(def (sig (procedure "(write-int* I [PORT])" (id write-int*))) (p "Writes a variable length base 128 two's complement encoded signed integer to " (tt "PORT") " (defaulting to " (tt "(current-output-port)") "). Stops with a syntax error if the encoding is longer than 10 bytes."))
(def (sig (procedure "(read-bool [PORT])" (id read-bool))) (p "Reads a boolean from " (tt "PORT") " (defaulting to " (tt "(current-input-port)") ")."))
(def (sig (procedure "(write-bool V [PORT])" (id write-bool))) (p "Writes a boolean to " (tt "PORT") " (defaulting to " (tt "(current-output-port)") ")."))
(def (sig (procedure "((read-fixed* SIZE SIGNED?) [PORT])" (id read-fixed*))) (p "Reads a fixed length, possibly " (tt "SIGNED?") ", integer from " (tt "PORT") " (defaulting to " (tt "(current-input-port)") "). " (tt "SIZE") " must be 4 or 8."))
(def (sig (procedure "((write-fixed* SIZE SIGNED?) N [PORT])" (id write-fixed*))) (p "Writes a fixed length, possibly " (tt "SIGNED?") ", integer to " (tt "PORT") " (defaulting to " (tt "(current-output-port)") "). " (tt "SIZE") " must be 4 or 8."))
(def (sig (constant "read-fixed32" (id read-fixed32))) (p "An alias for " (tt "(read-fixed* 4 #f)") "."))
(def (sig (constant "write-fixed32" (id write-fixed32))) (p "An alias for " (tt "(write-fixed* 4 #f)") "."))
(def (sig (constant "read-fixed64" (id read-fixed64))) (p "An alias for " (tt "(read-fixed* 8 #f)") "."))
(def (sig (constant "write-fixed64" (id write-fixed64))) (p "An alias for " (tt "(write-fixed* 8 #f)") "."))
(def (sig (constant "read-sfixed32" (id read-sfixed32))) (p "An alias for " (tt "(read-fixed* 4 #t)") "."))
(def (sig (constant "write-sfixed32" (id write-sfixed32))) (p "An alias for " (tt "(write-fixed* 4 #t)") "."))
(def (sig (constant "read-sfixed64" (id read-sfixed64))) (p "An alias for " (tt "(read-fixed* 8 #t)") "."))
(def (sig (constant "write-sfixed64" (id write-sfixed64))) (p "An alias for " (tt "(write-fixed* 8 #t)") "."))
(def (sig (procedure "((read-float* SIZE) [PORT])" (id read-float*))) (p "Reads a fixed length floating point number from " (tt "PORT") " (defaulting to " (tt "(current-input-port)") "). " (tt "SIZE") " must be 4 or 8."))
(def (sig (procedure "((write-float* SIZE) X [PORT])" (id write-float*))) (p "Writes a fixed length floating point number to " (tt "PORT") " (defaulting to " (tt "(current-output-port)") "). " (tt "SIZE") " must be 4 or 8."))
(def (sig (constant "read-float" (id read-float))) (p "An alias for " (tt "(read-float* 4)") "."))
(def (sig (constant "write-float" (id write-float))) (p "An alias for " (tt "(write-float* 4)") "."))
(def (sig (constant "read-double" (id read-double))) (p "An alias for " (tt "(read-float* 8)") "."))
(def (sig (constant "write-double" (id write-double))) (p "An alias for " (tt "(write-float* 8)") "."))
(def (sig (procedure "(read-sized-bytes [PORT])" (id read-sized-bytes))) (p "Reads a SRFI-4 " (tt "u8vector") " with size information from " (tt "PORT") " (defaulting to " (tt "(current-input-port)") ")."))
(def (sig (procedure "(write-sized-bytes BSTR [PORT])" (id write-sized-bytes))) (p "Writes a SRFI-4 " (tt "u8vector") " with size information to " (tt "PORT") " (defaulting to " (tt "(current-output-port)") ")."))
(def (sig (procedure "(read-sized-string [PORT])" (id read-sized-string))) (p "Reads a string with size information from " (tt "PORT") " (defaulting to " (tt "(current-input-port)") ")."))
(def (sig (procedure "(write-sized-string STR [PORT])" (id write-sized-string))) (p "Writes a string with size information to " (tt "PORT") " (defaulting to " (tt "(current-output-port)") ")."))
(def (sig (procedure "(read-sized READ [PORT])" (id read-sized))) (p "Reads a block with size information from " (tt "PORT") " (defaulting to " (tt "(current-input-port)") "). Uses " (tt "READ") " to decode the contents of the block."))
(def (sig (procedure "(write-sized WRITE V [PORT])" (id write-sized))) (p "Uses " (tt "WRITE") " to encode a block to " (tt "PORT") " (defaulting to " (tt "(current-output-port)") "). Automatically adds size information to the output."))
(def (sig (procedure "(read-tag/type [PORT])" (id read-tag/type))) (p "Reads the tag and wire type of a protocol buffer message field from " (tt "PORT") " (defaulting to " (tt "(current-input-port)") "). The type is one of the symbols " (tt "int*") ", " (tt "32bit") ", " (tt "64bit") " or " (tt "sized") "."))
(def (sig (procedure "(write-tag/type TAG TYPE [PORT])" (id write-tag/type))) (p "Writes the tag and wire type of a protocol buffer message field to " (tt "PORT") " (defaulting to " (tt "(current-output-port)") "). The " (tt "TYPE") " must be one of the symbols " (tt "int*") ", " (tt "32bit") ", " (tt "64bit") " or " (tt "sized") "."))
