From 33d406a53011f298eae437d56bd65b4f8caa31c5 Mon Sep 17 00:00:00 2001 From: Eishun Kondoh Date: Mon, 4 Dec 2017 20:17:58 +0900 Subject: [PATCH] Update README --- README.md | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 633bbbb..305c5c7 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,30 @@ -# Tres +# Tres - a Elixir OpenFlow development platform -**TODO: Add description** +## Overview + +Tres is a framework and set of helper libraries to develop OpenFlow controllers in Elixir. + +the purpose of this project is to design and prototype an experimental network switch controller that implements the OpenFlow 1.3.x. The project explores the scalability and robustness of such controllers on a scale much larger than typically considered: 100,000s of endpoints, 10,000s of switches. ## Installation -If [available in Hex](https://hex.pm/docs/publish), the package can be installed -by adding `tres` to your list of dependencies in `mix.exs`: - ```elixir def deps do [ - {:tres, "~> 0.1.0"} + {:tres, git: "https://gh.iiji.jp/Isono/tres", branch: "develop"} ] end ``` -Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc) -and published on [HexDocs](https://hexdocs.pm). Once published, the docs can -be found at [https://hexdocs.pm/tres](https://hexdocs.pm/tres). +## callbacks + +```elixir +config :tres, + callback_module: Tres.ExampleHandler, + callback_args: [] +``` +To use `Tres.Controller` with your code, set the handler callback_module to your callback module. +This module must implement the `Module.start_link/2` that returns `on_start`. + +Set the callback_args to the terms you want pass to the `start_link/2` callback function.