aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 8e7783ae7398e9befddea9ec216a8974a3ac3bb3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Boltex

Elixir implementation of the Bolt protocol and corresponding PackStream
protocol. Both is being used by Neo4J.

## Installation

If [available in Hex](https://hex.pm/docs/publish), the package can be installed as:

  1. Add boltex to your list of dependencies in `mix.exs`:

        def deps do
          [{:boltex, "~> 0.0.1"}]
        end

  2. Ensure boltex is started before your application:

        def application do
          [applications: [:boltex]]
        end

## Try it out!

```elixir
Boltex.test 'localhost', 7687, "MATCH (n) RETURN n"
```

## Todo

- [x] PackStream decoding
- [x] PackStream encoding
- [x] Bolt message receiving
- [x] Bolt message sending
- [ ] Auth
- [ ] Transport adapter (e.g. plain `:gen_tcp`, `DBConnection`, ...)
- [ ] Handle failures gracefully