Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

updated README.md

  • Loading branch information...
commit 01b1ff618bb43df292c4061bd81840d67de46384 1 parent e12e95f
@frsyuki frsyuki authored
Showing with 27 additions and 47 deletions.
  1. +27 −47 README.md
View
74 README.md
@@ -1,62 +1,42 @@
-MessagePack-RPC
-===============
-http://github.com/msgpack/msgpack-rpc
+MessagePack
+===========
+Extremely efficient object serialization library. It's like JSON, but very fast and small.
-## Overview
-MessagePack-RPC is an inter-process messaging library that uses [MessagePack](http://msgpack.org/) for object serialization.
+## What's MessagePack?
-MessagePack enables very fast streaming serialization/deserialization, and communication between heterogeneous languages like Ruby <-> C++.
+**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.
- - Asynchronous, synchronous and callback interfaces are supported.
- - Scalable event-driven architecture.
+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]
-## Status
+**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.
-### Ruby
+ 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
-MessagePack-RPC for Ruby is available by RubyGems:
+ require 'msgpack/rpc'
+ c = MessagePack::RPC::Client.new('127.0.0.1',18800)
+ result = c.call(:add, 1, 2) #=> 3
- $ gem install msgpack-rpc
-### C++
+## Getting Started
-See [cpp](http://github.com/msgpack/msgpack-rpc/tree/master/cpp/) directory.
+Usage and other documents about implementations in each language are found at [the web site.](http://msgpack.org/)
-### Java
-[Maven2 repository](http://msgpack.org/maven2/) is available. Please add these lines to your pom.xml.
+## Learn More
- <repositories>
- <repository>
- <id>msgpack.org</id>
- <name>MessagePack Repository for Maven</name>
- <url>http://msgpack.org/maven2/</url>
- </repository>
- </repositories>
- <dependencies>
- <dependency>
- <groupId>org.msgpack</groupId>
- <artifactId>msgpack-rpc</artifactId>
- <version>0.4.1</version>
- </dependency>
- </dependencies>
+ - [Web Site](http://msgpack.org/)
+ - [Wiki](http://wiki.msgpack.org/display/MSGPACK/Home)
+ - [Issues](http://jira.msgpack.org/browse/MSGPACK)
+ - [Sources](https://github.com/msgpack)
-## License
-
- Copyright (C) 2009-2010 FURUHASHI Sadayuki
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
-See also NOTICE file.
Please sign in to comment.
Something went wrong with that request. Please try again.