Module frodobuf_schema::model[][src]

Expand description

Frodobuf Schema model

Structs

Attribute

An attribute is a key, plus a set of (name,value) pairs If value os omitted, the name is stored with a value of ‘true’

Attributes

iterator over a set of attributes, for a field, method, sevice, or schema

EnumValue

A Frodobuf enumeration value - name (a symbol) and an Int32 value

Enumeration

A Frodobuf enum - not to be confused with a rust enum (which is more like a protobuf oneof)

Field

A message Field

Ident

Identifier For services, there is a namespace path corresponding to a ‘package’ hierarchy For messages, the ‘name’ is the message name TODO: for message, should ‘namespace’ be the service/trait term, or the global service/trait path? “Global” name is “namespace::name”

Message

A Frodobuf message

Method

Service method

Schema

A Schema definition read from a file

Service

Service definition

Enums

Constant

constant = fullIdent | ( [ “-” | “+” ] intLit ) | ( [ “-” | “+” ] floatLit ) |

FieldType

Field type - for object fields and method parameters

Constants

ATTRIBUTE_ID_DOC

name for attribute that stores a line of documentation

ATTRIBUTE_ID_OPTION

name for attribute that was a protobuf “option”

ATTRIBUTE_ID_SOURCE

name for attributes that store source code location (file, col)

ATTRIBUTE_UNNAMED

name for anonymous/unnamed attribute (value only)

IDENT_PATH_DELIMITER

Separator in hierarchical names, e.g., “package.service”

Traits

HasAttributes

trait for schema items that have attributes

Type Definitions

FieldNumberRange

Range of integer field numbers