Serializes R objects to a general purpose protobuf message. It uses the same rexp.proto descriptor and mapping between R objects and protobuf messages as RHIPE and the RProtoBuf package.
serialize_pb(object, connection = NULL, skip_native = FALSE) unserialize_pb(msg)
object | an R object to serialize |
---|---|
connection | a connection, file, or |
skip_native | do not serialize 'native' (non-data) R objects. Setting to |
msg | raw vector with the serialized |
The serialize_pb
and unserialize_pb
reimplement the identically
named functions from the RProtoBuf
package in pure C++
. This makes
the function faster and simpler, but the output should be identical.
# Serialize and unserialize an object buf <- serialize_pb(iris) out <- unserialize_pb(buf) stopifnot(identical(iris, out)) if (FALSE) #Fully compatible with RProtoBuf buf <- RProtoBuf::serialize_pb(iris, NULL) out <- protolite::unserialize_pb(buf) stopifnot(identical(iris, out)) # Other way around buf <- protolite::serialize_pb(mtcars, NULL) out <- RProtoBuf::unserialize_pb(buf) stopifnot(identical(mtcars, out))