Hellhound 1.0.0-SNAPSHOT
Released under the MIT License
Build asynchronous, high performance and scalable applications at ease.
Installation
To install, add the following dependency to your project or build file:
[codamic/hellhound "1.0.0-SNAPSHOT"]
Namespaces
hellhound.component
Components are the main parts of HellHound systems. Basically each components should be an implementation of IComponent
. The protocol which defines a component functionality. By default HellHound implements IComponent
protocols for hashmaps only. So we can define components in form of maps.
Public variables and functions:
hellhound.components.core
A very light weight and effecient implementation of clojure components.
Public variables and functions:
hellhound.components.transform
transform
component is a really simple component to transofrm the incoming data and send the result to the output stream.
Public variables and functions:
hellhound.components.webserver
The default web/websocket server component of HellHound.
Public variables and functions:
hellhound.config
This namespace contains core functions which are required by the whole framework in order to operate. Functions which provide easy way to read application configurations based on current environment. Default environment is development
. In order to change the environment you need to set the HH_ENV
environment variable to new value like production
.
Public variables and functions:
hellhound.config.defaults
This namespace contains default values for HellHound configuration
Public variables and functions:
hellhound.config.helpers
Several helper functions to make life easier when using then hellhound configuration.
Public variables and functions:
hellhound.config.parser
Parser functions for hellhound edn configuration files live in this namespace. This namespace contains several helpers functions to load a edn
configuration file from classpath.
Public variables and functions:
hellhound.http
This namespace contains several shortcuts and helpers to work with HellHound’s HTTP features such as router, websocket, etc.
Public variables and functions:
hellhound.http.handlers
A collection of useful Ring handlers to be used with a Ring router. In case of HellHound, hellhound.http.route
.
Public variables and functions:
hellhound.http.websocket
Websocket module of HellHound is responsible for creating a websocket server on top of Immutant server and dispatch the event coming from clients to event-router
and send back the result
hellhound.http.websocket.core
Each packer should implement IPacker
protocol. For more information and an example checkout hellhound.http.websocket.json
namespace.
Public variables and functions:
hellhound.http.websocket.json
Pretty simple IPacker
implementation for JSON
data.
Public variables and functions:
hellhound.i18n.core
I18n features of HellHound is based on [tempura](https://github.com/ptaoussanis/tempura The initialize-i18n
function should be called at the beginning of the application in order to set the default configuration and dictionary.
Public variables and functions:
hellhound.logger.formatters
Different types of log formatter functions to be used with timbre for different environments.
Public variables and functions:
hellhound.ring.response
This namespace contains several helper function to help users to produce a ring response.
Public variables and functions:
hellhound.spec
Utility namespace for spec management and validation in HellHound.
Public variables and functions:
hellhound.system
Systems are the most important thing in the HellHound ecosystem. Systems define how your application should work.
Public variables and functions:
hellhound.system.core
All the functions for managing system state live in this namespace. You won’t need to use this namespace directly unless you really know what’s your doing.
Public variables and functions:
hellhound.system.workflow
System’s workflow a vector describing the dataflow of the system. Components have an input and an output stream. Each stream is a manifold.stream
. HellHound connects io of each component to another component based on the desciption given by the :workflow
of the system.
Public variables and functions: