rpcz | RPC implementation for Protocol Buffers over ZeroMQ

 by   thesamet C++ Version: Current License: Apache-2.0

kandi X-RAY | rpcz Summary

kandi X-RAY | rpcz Summary

rpcz is a C++ library typically used in Web Services applications. rpcz has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

RPCZ is a library for writing fast and robust RPC clients and servers that speak Protocol Buffers. RPCZ currently supports writing clients and servers in C++ and Python. More languages may be added in the future. The API offers both asynchronous (callbacks) and synchronous (blocking) style functionality. Both styles allow specifying deadlines in millisecond resolution. RPCZ is built on top of [ZeroMQ] for handling the low-level I/O details in a lock-free manner. The Python module is a [Cython] wrapper around the C++ API. RPCZ has been tested on Ubuntu 11.10, Ubuntu 14.04, Mac OS X Lion and Microsoft Visual Studio 2012.

            kandi-support Support

              rpcz has a low active ecosystem.
              It has 94 star(s) with 37 fork(s). There are 21 watchers for this library.
              It had no major release in the last 6 months.
              There are 6 open issues and 4 have been closed. On average issues are closed in 41 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of rpcz is current.

            kandi-Quality Quality

              rpcz has 0 bugs and 0 code smells.

            kandi-Security Security

              rpcz has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              rpcz code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              rpcz is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              rpcz releases are not available. You will need to build from source code and install.
              Installation instructions are not available. Examples and code snippets are available.
              It has 821 lines of code, 96 functions and 11 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of rpcz
            Get all kandi verified functions for this library.

            rpcz Key Features

            No Key Features are available at this moment for rpcz.

            rpcz Examples and Code Snippets

            No Code Snippets are available at this moment for rpcz.

            Community Discussions


            How can i write my own RPC Implementation for Protocol Buffers utilizing ZeroMQ
            Asked 2020-Jan-07 at 06:23

            According to the Google Protocol Buffers documentation under 'Defining Services' they say,

            it's also possible to use protocol buffers with your own RPC implementation.

            To my understanding, Protocol Buffers does not implement RPC natively. Instead, they provide a series of abstract interfaces that must be implemented by the user (Thats me!). So I want to implement these abstract interfaces utilizing ZeroMQ for network communication.

            I'm trying to create an RPC implementation using ZeroMQ because the project i'm working on already implements ZeroMQ for basic messaging (Hence why I'm not using gRPC, as the documentation recommends).

            After reading through the proto documentation thoroughly, i found that I have to implement the abstract interfaces RpcChannel and RpcController for my own implementation.

            I've constructed a minimalized example of where I'm currently at with my RPC Implementation

            .proto file: Omitted SearchRequest and SearchResponse schema for brevity



            Answered 2020-Jan-07 at 06:23
            • ZeroMQ provides a low-level API for network communication based on messages that can contain any data.
            • ProtoBuffers is a library that encodes structured data as compressed binary data and decodes such data.
            • gRPC is a RPC framework that generates code for network communication based RPC services with functions that exchange data as ProtoBuffers data.

            Both ZeroMQ and gRPC provides support for network communication but in different ways. You have to chose either ZeroMQ, either gRPC for network communication. If you choose ZeroMQ, messages can be encoded using ProtoBuffers exchanging binary structured data.

            The main point is ProtoBuffers library allows variant records (similar to C/C++ unions) to be encoded and decoded that can fully emulate the functionality provided by RPC services having functions exchanging ProtoBuffers messages.

            So the options are:

            1. Use ZeroMQ with send and receive primitives and ProtoBuffers encoded variant messages that can contain various sub-messages, like

            Source https://stackoverflow.com/questions/59616929

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install rpcz

            You can download it from GitHub.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone thesamet/rpcz

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular C++ Libraries


            by tensorflow


            by electron


            by microsoft


            by bitcoin


            by opencv

            Try Top Libraries by thesamet


            by thesametScala


            by thesametScala


            by thesametPython


            by thesametScala