UDP-based, light key-value store.
Use docker. Remenber to open UDP port.
shell
$ docker run -d -p 3000:3000/udp kirisaki:twinkle
Docker repositry is https://hub.docker.com/repository/docker/kirisaki/twinkle
The protcol of twinkle is quiet simple. Only send binary messages expressed following. Its byte-order is big endian.
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| 0x01 | UUID
| |
+--------+--------+--------+------...
|
|
...------+
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| 0x01 | UUID
| |
+--------+--------+--------+------...
|
|
...------+
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| 0x02 | UUID
| |
+--------+--------+--------+------...
| Key |
| Length | key octets ...
...------+-----------------+-----...
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| 0x01 | UUID
| |
+--------+--------+--------+------...
|
| value octets
...------+--------+------...
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| 0x02 | UUID
| |
+--------+--------+--------+------...
|
|
...------+
```
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| 0x03 | UUID
| |
+--------+--------+--------+------...
| Key |
| Length | key octets ...
...------+-----------------+-----...
|
| value octets ...
...------+--------------...
```
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| 0x01 | UUID
| |
+--------+--------+--------+------...
|
|
...------+
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| 0x04 | UUID
| |
+--------+--------+--------+------...
| Key |
| Length | key octets ...
...------+-----------------+-----...
0 7 8 15 16 23 24 31
+--------+--------+--------+--------+
| 0x01 | UUID
| |
+--------+--------+--------+------...
|
|
...------+