Skip to content

juruen/ffwd-java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

A java implementation of FastForward

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.9%
  • Other 0.1%