Code Monkey home page Code Monkey logo

fty-proto's Introduction

Core protocol implementation for FTY

How to build

To build, run:

mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=usr -DBUILD_TESTING=On ..
make
sudo make install

Scope and goals

Implementation of core protocols (assets, metrics, alerts messages) for 42ity project.

It defines three types of main messages/objects on the system

  • metrics
  • assets
  • alerts

Ownership and license

The contributors are listed in AUTHORS. This project uses the GPL2+ license, see LICENSE.

fty-proto uses the C4.1 (Collective Code Construction Contract) process for contributions.

fty-proto uses the CLASS (C Language Style for Scalabilty) guide for code style.

To report an issue, use the 42Ity issue tracker at github.com.

Building and Installing

You need libzmq and czmq prior to building fty-proto.

Using Open Build Service

Zeromq community maintain packages network:zeromq for a lot of Linux distributions. Check if your system is supported and install devel packagage of czmq (libczmq-dev, czmq-devel).

From source code

Here's how to build CZMQ from GitHub (building from packages is very similar, you don't clone a repo but unpack a tarball), including the libzmq (ZeroMQ core) library (NOTE: skip ldconfig on OSX):

git clone git://github.com/zeromq/libzmq.git
cd libzmq
./autogen.sh
# do not specify "--with-libsodium" if you prefer to use internal tweetnacl security implementation (recommended for development)
./configure --with-libsodium
make check
sudo make install
sudo ldconfig
cd ..

git clone git://github.com/zeromq/czmq.git
cd czmq
./autogen.sh && ./configure && make check
sudo make install
sudo ldconfig
cd ..

Then build fty-proto itself

git clone git://github.com/42ity/fty-proto.git
cd fty-proto
cmake -B build && cd build
make
sudo make install
sudo ldconfig
cd ..

API summary

See fty_proto.h for API.

Development

fty-proto is developed through a test-driven process that guarantees no memory violations or leaks in the code:

  • Modify a class or method.
  • Update the test method for that class.
  • Run the 'selftest' script, which uses the Valgrind memcheck tool.
  • Repeat until perfect.

Always ask - can I make it simpler?

How to compile and test projects using fty-proto by 42ITy standards

zproject

Add this block in the project.xml file :

    <use project = "fty-proto" libname = "libfty_proto" header = "fty_proto.h" prefix = "fty_proto"
        min_major = "1"
        repository = "https://github.com/42ity/fty-proto.git" />

CMake/ CMakeLists.txt

Make your target depends on fty_proto.

fty-proto's People

Contributors

jimklimov avatar malanka avatar jana-rapava avatar stark-dev avatar francoisregisdegott-eaton avatar aquette avatar eldoreijk avatar michal42 avatar vyskocilm avatar perrettecl avatar thalman avatar yarovyii avatar arnaudquette-eaton avatar geraldguillaume avatar karolhrdina avatar kkathreen avatar etnklendathu avatar zjes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.