GithubHelp home page GithubHelp logo

alice-go / fer Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 1.0 338 KB

a Go-based reimplementation of FairMQ

License: BSD 3-Clause "New" or "Revised" License

Go 99.88% Shell 0.12%
go golang lhc alice-experiment hep go-hep godoc

fer's Introduction

fer

GitHub release GoDoc Build Status codecov DOI

fer is a simple reimplementation of FairMQ in Go.

License

fer is released under the BSD-3 license.

Installation

fer is installable via go get:

$> go get github.com/alice-go/fer/...

NOTE: you need at least go1.7.

Documentation

Documentation is available on godoc.

Examples

Testing example-2 from FairMQ tutorial

## terminal 1
$> fer-ex-sink --id sink1 --mq-config ./_example/cmd/testdata/ex2-sampler-processor-sink.json

## terminal 2
$> fer-ex-processor --id processor --mq-config ./_example/cmd/testdata/ex2-sampler-processor-sink.json

## terminal 3
$> fer-ex-sampler --id sampler1 --mq-config ./_example/cmd/testdata/ex2-sampler-processor-sink.json

This will run 3 devices, using the ZeroMQ transport.

To run with nanomsg as a transport layer, add --transport nanomsg to the invocations.

fer's People

Contributors

sbinet avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

sbinet-alice

fer's Issues

O² Control support

Following up on alisw/alidist#1230 (comment)

The O² Control executor supports both FairMQ and Direct control modes, so it can be configured to send either:

  • FairMQ-specific state machine events to the OCC plugin of a running FairMQ device, or
  • "uncooked" Control state machine events with no FairMQ-specific handling to any other process with a compatible gRPC server.

No such process-side implementation exists yet (we only have FairMQPlugin_OCC) so this Direct non-FairMQ code path in O² Control is untested, and fer can be a candidate. Alternatively it could also make sense to keep fer's interface completely FairMQ compatible, use the FairMQ control mode and rather reimplement the equivalent to FairMQPlugin_OCC in fer.

In one way or another, the fer device should implement a gRPC server for this or a similar protofile, including a mechanism for defining channels and setting properties during (re)configuration.

See controlmode and occplugin.

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.