Learn R Programming

⚠️There's a newer version (0.4.24) of this package.Take me there.

RProtoBuf: R Interface to Google Protocol Buffers

What are Protocol Buffers?

A serialization format developed by Google and used widely within Google, and by numerous other projects. Quoting from the official website:

Protocol buffers are Google's language-neutral, platform-neutral,

extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages.

Protocol Buffers natively support C++, C#, Go, Java and Python. Many other languages are supported via contributed extensions. This package adds support for R.

Installation

You can either install from source via this repo, or install the CRAN package the usual way from R via

install.packages("RProtoBuf")

but do make sure you have the system requirements covered when building from source.

Under Debian/Ubuntu you may need

sudo apt-get install protobuf-compiler libprotobuf-dev libprotoc-dev 

with similar commands on other operating systems or distributions.

Documentation

The package contains two pdf vignettes; the second one corresponds to our JSS paper.

Authors

Romain Francois, Dirk Eddelbuettel, Murray Stokely and Jeroen Ooms

License

GPL (>= 2)

Copy Link

Version

Install

install.packages('RProtoBuf')

Monthly Downloads

1,382

Version

0.4.17

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Dirk Eddelbuettel

Last Published

March 28th, 2020

Functions in RProtoBuf (0.4.17)

ConnectionOutputStream-methods

Creates an ConnectionOutputStream
ByteCount-methods

The number of bytes read/written since the object was created
BackUp-methods

Backs up a number of bytes from a stream
ArrayOutputStream-class

Class "ArrayOutputStream"
ArrayInputStream-methods

Creates an ArrayInputStream
ConnectionInputStream-class

Class "ConnectionInputStream"
FileOutputStream-class

Class "FileOutputStream"
ConnectionOutputStream-class

Class "ConnectionOutputStream"
ArrayOutputStream-methods

Creates an ArrayOutputStream
ConnectionInputStream-methods

Creates an ConnectionInputStream
ArrayInputStream-class

Class "ArrayInputStream"
FileOutputStream-methods

Creates an FileOutputStream
Descriptor-class

Class "Descriptor"
FieldDescriptor-class

Class "FieldDescriptor"
FileDescriptor-class

Class "FileDescriptor"
EnumDescriptor-class

Class "EnumDescriptor"
FileInputStream-methods

Creates an FileInputStream
Message-class

Class "Message"
GetErrno-methods

Get the error number for an I/O error
EnumValueDescriptor-class

Class "EnumValueDescriptor"
ServiceDescriptor-class

Class "ServiceDescriptor"
Skip-methods

Skips a number of bytes
SetCloseOnDelete-methods

set the close on delete behavior
RpcHTTP-class

Class "RpcHTTP"
FileInputStream-class

Class "FileInputStream"
MethodDescriptor-class

Class "MethodDescriptor"
ZeroCopyInputStream-class

Virtual Class "ZeroCopyInputStream"
Next-methods

Obtains a chunk of data from the stream
asMessage

coerce an object to a protobuf message
as.list.Message

Grab the protocol buffer message as an R list
readJSON-methods

read a message in JSON format
RProtoBuf-package

R Interface to the Protocol Buffers API
P

Protocol Buffer descriptor importer
field_count-methods

The number of fields
bytesize-methods

The number of bytes taken by a message
clone-methods

Clone protocol buffer messages
readProtoFiles

protocol buffer descriptor importer
ZeroCopyOutputStream-class

Virtual Class "ZeroCopyOutputStream"
fileDescriptor-methods

gets the file descriptor of an object
clear-methods

Clear a field or all fields of the message and set them to their default values
swap-methods

swap elements of a repeated field of a message
enum_type-methods

Extract an enum type descriptor for a nested type
field-methods

Extract a field descriptor
fetch-methods

Fetch content of a repeated field
completion

Completion support for protocol buffer messages and descriptors
add-methods

add elements of a repeated field of a message
enum_type_count-methods

The number of enum types
type-methods

Gets the type or the C++ type of a field
read-methods

Read a protocol buffer message from a connection
serialize_pb

Serialize R object to Protocol Buffer Message.
label-methods

Gets the label of a field
merge-methods

Merge two messages of the same type
readASCII-methods

read a message in ASCII format
isInitialized-methods

Indicates if a protocol buffer message is initialized
size-methods

Size of a message field
set-methods

set a subset of values of a repeated field of a message
containing_type-methods

Gets the message type descriptor that contains a descriptor
name

Name or full name of a descriptor
is_extension-methods

Indicates if a field descriptor is an extension
sizegets

Set the size of a field
invoke-methods

invoke a protobuf rpc method
nested_type-methods

Extract a message type descriptor for a nested type
descriptor-methods

Get the descriptor of a message
has-methods

Indicates if an object has the given field set
nested_type_count-methods

The number of fields
number-methods

Gets the declared tag number of a field
with.Message

with and within methods for protocol buffer messages