README.md
# Elixir SLP
This is an application for accessing Service Location Protocol (SLP) services with
Elixir. SLP is a widely used service discovery protocol.
See the [Open SLP](http://www.openslp.org/) site for more information on SLP.
## Installation
This package requires that the OpenSLP library is installed.
It can be found at http://www.openslp.org/download.html
On OSX you can use ```brew install openslp``` in Linux it is likely that
your package manager has the library.
1. Add slp to your list of dependencies in `mix.exs`:
def deps do
[{:slp, "~> 0.0.1"}]
end
2. Ensure that the slpd daemon is running and available on the network.
2. Ensure the slp Elixir application is started before your application:
def application do
[applications: [:slp]]
end
## Usage
You can advertise services on SLP with the register command.
iex> SLP.register("my.service:http://10.1.1.1:5560", [location: "australia"], 65535)
:ok
To find registered services use the find_services command.
iex> SLP.find_services("my.service")
["my.service:http://10.1.1.1:5560"]
## Architecture
This application uses a C port program (slp_port) to make library calls.