RcppMsgPack: MessagePack Headers and Interface Functions for R

Abstract:

MessagePack, or MsgPack for short, or when referring to the implementation, is an efficient binary serialization format for exchanging data between different programming languages. The RcppMsgPack package provides R with both the MessagePack C++ header files, and the ability to access, create and alter MessagePack objects directly from R. The main driver functions of the R interface are two functions msgpack_pack and msgpack_unpack. The function msgpack_pack serializes R objects to a raw MessagePack message. The function msgpack_unpack de-serializes MessagePack messages back into R objects. Several helper functions are available to aid in processing and formatting data including msgpack_simplify, msgpack_format and msgpack_map.

Cite PDF Tweet

Authors

Affiliations

Travers Ching

 

Dirk Eddelbuettel

 

Published

Dec. 7, 2018

Received

Jul 31, 2018

DOI

10.32614/RJ-2018-068

Volume

Pages

10/2

516 - 525

Supplementary materials

Supplementary materials are available in addition to this article. It can be downloaded at RJ-2018-068.zip

CRAN packages used

mongolite, RProtoBuf, RcppRedis, RcppMsgPack, Rcpp, nanotime, httr, feather, data.table

CRAN Task Views implied by cited packages

HighPerformanceComputing, Databases, NumericalMathematics, Finance, WebTechnologies

Footnotes

    Reuse

    Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

    Citation

    For attribution, please cite this work as

    Ching & Eddelbuettel, "The R Journal: RcppMsgPack: MessagePack Headers and Interface Functions for R", The R Journal, 2018

    BibTeX citation

    @article{RJ-2018-068,
      author = {Ching, Travers and Eddelbuettel, Dirk},
      title = {The R Journal: RcppMsgPack: MessagePack Headers and Interface Functions for R},
      journal = {The R Journal},
      year = {2018},
      note = {https://doi.org/10.32614/RJ-2018-068},
      doi = {10.32614/RJ-2018-068},
      volume = {10},
      issue = {2},
      issn = {2073-4859},
      pages = {516-525}
    }