chore: initialize zerobus module with license and readme
- commit
- 2b1569e54a44b3f7e6f5eb1bf2958d26e3b641ed
- author
- brice · · 2026-10-08 17:07 UTC
- parent
- none (root commit)
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
5 files · +52 -0
A .gitignore +4 -0
| @@ -0,0 +1,4 @@ | |||
| 1 | + | .worktrees/ | |
| 2 | + | /bin/ | |
| 3 | + | *.test | |
| 4 | + | *.prof | |
| @@ -0,0 +1,4 @@ | |||||
| 1 | + | .worktrees/ | |||
| 2 | + | /bin/ | |||
| 3 | + | *.test | |||
| 4 | + | *.prof | |||
A LICENSE +21 -0
| @@ -0,0 +1,21 @@ | |||
| 1 | + | MIT License | |
| 2 | + | ||
| 3 | + | Copyright (c) 2026 zerobus contributors | |
| 4 | + | ||
| 5 | + | Permission is hereby granted, free of charge, to any person obtaining a copy | |
| 6 | + | of this software and associated documentation files (the "Software"), to deal | |
| 7 | + | in the Software without restriction, including without limitation the rights | |
| 8 | + | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| 9 | + | copies of the Software, and to permit persons to whom the Software is | |
| 10 | + | furnished to do so, subject to the following conditions: | |
| 11 | + | ||
| 12 | + | The above copyright notice and this permission notice shall be included in all | |
| 13 | + | copies or substantial portions of the Software. | |
| 14 | + | ||
| 15 | + | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
| 16 | + | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| 17 | + | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
| 18 | + | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
| 19 | + | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
| 20 | + | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |
| 21 | + | SOFTWARE. | |
| @@ -0,0 +1,21 @@ | |||||
| 1 | + | MIT License | |||
| 2 | + | ||||
| 3 | + | Copyright (c) 2026 zerobus contributors | |||
| 4 | + | ||||
| 5 | + | Permission is hereby granted, free of charge, to any person obtaining a copy | |||
| 6 | + | of this software and associated documentation files (the "Software"), to deal | |||
| 7 | + | in the Software without restriction, including without limitation the rights | |||
| 8 | + | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |||
| 9 | + | copies of the Software, and to permit persons to whom the Software is | |||
| 10 | + | furnished to do so, subject to the following conditions: | |||
| 11 | + | ||||
| 12 | + | The above copyright notice and this permission notice shall be included in all | |||
| 13 | + | copies or substantial portions of the Software. | |||
| 14 | + | ||||
| 15 | + | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||
| 16 | + | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
| 17 | + | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||
| 18 | + | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||
| 19 | + | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||
| 20 | + | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |||
| 21 | + | SOFTWARE. | |||
A README.md +19 -0
| @@ -0,0 +1,19 @@ | |||
| 1 | + | # zerobus | |
| 2 | + | ||
| 3 | + | A small D-Bus client for Go that does not allocate once it is running. | |
| 4 | + | ||
| 5 | + | **Status: early development.** The API is not usable yet and will change. | |
| 6 | + | ||
| 7 | + | ## Goals | |
| 8 | + | ||
| 9 | + | - **Zero allocations in steady state.** Reading signals and making calls reuses buffers; decoded strings and arrays point into the receive buffer. | |
| 10 | + | - **Only the standard library** (plus `golang.org/x/sys` if needed). | |
| 11 | + | - **A small client.** It connects to the session or system bus over a Unix socket, authenticates with `EXTERNAL`, calls methods, reads properties, matches signals and exports simple objects. | |
| 12 | + | ||
| 13 | + | ## Not a goal | |
| 14 | + | ||
| 15 | + | - A full D-Bus implementation: no TCP transports, no reflection-based marshalling, no code generation. | |
| 16 | + | ||
| 17 | + | ## License | |
| 18 | + | ||
| 19 | + | MIT | |
| @@ -0,0 +1,19 @@ | |||||
| 1 | + | # zerobus | |||
| 2 | + | ||||
| 3 | + | A small D-Bus client for Go that does not allocate once it is running. | |||
| 4 | + | ||||
| 5 | + | **Status: early development.** The API is not usable yet and will change. | |||
| 6 | + | ||||
| 7 | + | ## Goals | |||
| 8 | + | ||||
| 9 | + | - **Zero allocations in steady state.** Reading signals and making calls reuses buffers; decoded strings and arrays point into the receive buffer. | |||
| 10 | + | - **Only the standard library** (plus `golang.org/x/sys` if needed). | |||
| 11 | + | - **A small client.** It connects to the session or system bus over a Unix socket, authenticates with `EXTERNAL`, calls methods, reads properties, matches signals and exports simple objects. | |||
| 12 | + | ||||
| 13 | + | ## Not a goal | |||
| 14 | + | ||||
| 15 | + | - A full D-Bus implementation: no TCP transports, no reflection-based marshalling, no code generation. | |||
| 16 | + | ||||
| 17 | + | ## License | |||
| 18 | + | ||||
| 19 | + | MIT | |||
A doc.go +5 -0
| @@ -0,0 +1,5 @@ | |||
| 1 | + | // Package zerobus is a small D-Bus client that does not allocate in steady | |
| 2 | + | // state. It speaks the D-Bus wire protocol over a Unix socket and decodes | |
| 3 | + | // messages in place, so strings and arrays point into the receive buffer and | |
| 4 | + | // stay valid only until the next read. | |
| 5 | + | package zerobus | |
| @@ -0,0 +1,5 @@ | |||||
| 1 | + | // Package zerobus is a small D-Bus client that does not allocate in steady | |||
| 2 | + | // state. It speaks the D-Bus wire protocol over a Unix socket and decodes | |||
| 3 | + | // messages in place, so strings and arrays point into the receive buffer and | |||
| 4 | + | // stay valid only until the next read. | |||
| 5 | + | package zerobus | |||
A go.mod +3 -0
| @@ -0,0 +1,3 @@ | |||
| 1 | + | module github.com/bnema/zerobus | |
| 2 | + | ||
| 3 | + | go 1.27 | |
| @@ -0,0 +1,3 @@ | |||||
| 1 | + | module github.com/bnema/zerobus | |||
| 2 | + | ||||
| 3 | + | go 1.27 | |||