66Elixir implementation of the Bolt protocol and corresponding PackStream
77protocol. Both is being used by Neo4J.
88
9+ This is a very bare-bone protocol implementation. Error handling, acknowledging
10+ errors, recovering sessions etc. has to be implemented upstream.
11+
912* Warning: This is currently WIP and only in the wild to gather feedback!*
1013
14+ If you want to use Boltex in production I highly recommend using connection
15+ pooling. You can either use the feature-rich
16+ [ Bolt.Sips] ( https://github.com/florinpatrascu/bolt_sips ) or check out the
17+ [ example DBConnection implementation] ( https://github.com/mschae/boltex_db_connection ) .
18+
1119## Installation
1220
1321If [ available in Hex] ( https://hex.pm/docs/publish ) , the package can be installed as:
1422
1523 1 . Add boltex to your list of dependencies in ` mix.exs ` :
1624
1725 def deps do
18- [{:boltex, "~> 0.0.1 "}]
26+ [{:boltex, "~> a.b.c "}]
1927 end
2028
2129 2 . Ensure boltex is started before your application:
@@ -30,17 +38,6 @@ If [available in Hex](https://hex.pm/docs/publish), the package can be installed
3038Boltex .test ' localhost' , 7687 , " MATCH (n) RETURN n"
3139```
3240
33- ## Todo
34-
35- - [x] PackStream decoding
36- - [x] PackStream encoding
37- - [x] Bolt message receiving
38- - [x] Bolt message sending
39- - [x] Auth
40- - [x] Transport adapter (e.g. plain ` :gen_tcp ` , ` DBConnection ` , ...)
41- - [x] Handle failures gracefully
42- - [ ] SSL
43-
4441## License
4542
4643Copyright 2016 Michael Schaefermeyer
0 commit comments