feat(elixir): add unix domain sockets transport and getting-started example
Current Behavior
Currently there is no implementation of Unix Domain Socket Transports for Elixir implementation.
Proposed Changes
This PR is still Work in Progress
- [x] Prototype the unix domain sockets transport
- [x] Add examples
- [ ] Add tests
- [ ] Clean up sockets after crashes / shutdown
- [ ] Allow multiple UDS gen_tcp servers to run (currently using named processes for the Connection supervision)
+-----------------+
| UDS(Supervisor) |
+--------/----\---+
/ \
/ \
/ +-----------+
/ | Listener --------|
/ +-----------+ |
/ | Start Connection children
+-----------------------+ |
|Connection Supervisor --------------|
|(dynamic) |
+------/----------\-----+
/ \
/ -\
/ \
/ \
+--------------------++--------------------+
| Connection Process || Connection Process |
| || |
| +--------+ || +--------+ |
| | socket | || | socket | |
| +--------+ || +--------+ |
+--------------------++--------------------+
Checks
- [x] All commits in this Pull Request are signed and Verified by Github.
- [x] All commits in this Pull Request follow the Ockam commit message convention.
- [x] I accept the Ockam Community Code of Conduct.
- [x] I have accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam-contributors repository.
Hi @tzumby I can see it has been a while since this PR has been opened. Is there anything we can do to help you finish it?
Hey @etorreborre, thanks for messaging, I would love to push this over the finish line, but I'm absolutely swamped with work. If this is blocking anything maybe it makes sense that I either close it or have someone else co-author this with me ?
@tzumby no worries this is not on the critical path at the moment but we will see if we can maybe find someone to help you out with this.