Skip to content
/ msgpack Public
forked from msgpack/msgpack

MessagePack is an extremely efficient object serialization library. It's like JSON, but very fast and small.

Notifications You must be signed in to change notification settings

muga/msgpack

This branch is 118 commits behind msgpack/msgpack:master.

Folders and files

NameName
Last commit message
Last commit date
Aug 8, 2011
Apr 23, 2011
Aug 27, 2010
Aug 7, 2009
Jul 21, 2011
Apr 4, 2011
Aug 9, 2011
Aug 8, 2011
Apr 4, 2011
Aug 7, 2011
Jul 27, 2011
Jun 23, 2011
Aug 8, 2011
Apr 27, 2011
Jun 1, 2010
Apr 23, 2011
Jun 12, 2011

Repository files navigation

MessagePack

Extremely efficient object serialization library. It's like JSON, but very fast and small.

What's MessagePack?

MessagePack is a binary-based efficient object serialization library. It enables to exchange structured objects between many languages like JSON. But unlike JSON, it is very fast and small.

Typical small integer (like flags or error code) is saved only in 1 byte, and typical short string only needs 1 byte except the length of the string itself. [1,2,3] (3 elements array) is serialized in 4 bytes using MessagePack as follows:

require 'msgpack'
msg = [1,2,3].to_msgpack  #=> "\x93\x01\x02\x03"
MessagePack.unpack(msg)   #=> [1,2,3]

MessagePack-RPC is cross-language RPC library for client, server and cluster applications. Because it releases you from complicated network programming completely and provides well-designed API, you can easily implement advanced network applications with MessagePack-RPC.

require 'msgpack/rpc'
class MyHandler
  def add(x,y) return x+y end
end
svr = MessagePack::RPC::Server.new
svr.listen('0.0.0.0', 18800, MyHandler.new)
svr.run

require 'msgpack/rpc'
c = MessagePack::RPC::Client.new('127.0.0.1',18800)
result = c.call(:add, 1, 2)  #=> 3

Getting Started

Usage and other documents about implementations in each language are found at the web site.

Learn More

About

MessagePack is an extremely efficient object serialization library. It's like JSON, but very fast and small.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 29.6%
  • PHP 27.1%
  • C 13.2%
  • OCaml 6.6%
  • C++ 5.9%
  • Verilog 4.2%
  • Other 13.4%