Giter Site home page Giter Site logo

kolus_demo's Introduction

kolus_demo

A simple example of how kolus can be used.

Setup

$ make

Run

$ make start

This will drop you into an erlang shell, it will also start a mock inbound server on port 10001. A backend status page is at the path /backends. It's not pretty.

Start backends

1> kolus_demo:start_backend(Port).

Remember to use different ports.

Getting sockets via HTTP interface

There are three ways of getting the sockets using two different endpoints:

/one

Simply takes a socket and does nothing with it (but the status change is reflected on the /backends page)

/two

Connects to the mock backend. These mock backends always reply with the port they are running on. It always connects to the first backend in the list from kolus:status.

/three

Also connects to the mock backend, but idle connections have priority, if no idle connections are available it connects to the backend with the most unused connection.

Both endpoints have the optional argument time. That argument specifies how long the handler should wait before letting go of the socket.

Hackney modules

This demo includes two hackney transport modules so it can be used with the kolus library.

kolus_demo_tcp_transport

This transport module always connects to the first backend in the kolus status list.

kolus_demo_idle_first_tcp_transport

This transport module connects to idle connections if any exists, if not it connects to the backend with the most unused connections.

kolus_demo's People

Contributors

omarkj avatar

Stargazers

 avatar

Watchers

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