GithubHelp home page GithubHelp logo

juruen / ffwd-java Goto Github PK

View Code? Open in Web Editor NEW

This project forked from spotify/ffwd

0.0 2.0 0.0 450 KB

A java implementation of FastForward

License: Apache License 2.0

Java 99.86% Protocol Buffer 0.11% Shell 0.03%

ffwd-java's Introduction

ffwd-java »

This is a Java implementation of ffwd

This project is currently: experimental, use at your own risk.

Components

Module

A module is a loadable component that extends the functionality of FastForward. When a module is loaded it typically registers a set of plugins.

Plugin

Either an input, or an output plugin.

This provides the implementation to read, or send data from the agent. A plugin can have multiple instances with different configurations (like which port to listen to).

Early Injector

The early injector is setup by AgentCore and is intended to provide the basic facilities to perform module setup.

The following is a list of components that are given access to and their purpose.

  • com.spotify.ffwd.module.PluginContext Register input and output plugins.
  • com.fasterxml.jackson.databind.ObjectMapper (application/yaml+config) ObjectMapper used to parse provided configuration file.

Primary Injector

The primary injector contains the dependencies which are available after modules have been registered and the initial bootstrap is done.

It contains all the components of the early injector, with the following additions.

  • eu.toolchain.async.AsyncFramework - Framework implementation to use for async operations.
  • io.netty.channel.EventLoopGroup (boss) Event loop group used for boss threads in ServerBootstrap's.
  • io.netty.channel.EventLoopGroup (worker) Event loop group used for worker threads in {Server}Bootstrap's.
  • com.spotify.ffwd.protocol.ProtocolServers - Framework for setting up servers in a simple manner.
  • com.spotify.ffwd.protocol.ProtocolClients - Framework for setting up clients in a simple manner.
  • io.netty.util.Timer - A timer implementation.
  • com.fasterxml.jackson.databind.ObjectMapper (application/json) Used to decode/encode JSON.

ffwd-java's People

Contributors

juruen avatar

Watchers

James Cloos avatar  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.