twinkled

Crates.iotwinkled
lib.rstwinkled
version0.1.2
sourcesrc
created_at2019-12-14 11:24:33.389418
updated_at2019-12-18 04:09:30.907568
descriptionUDP-based, light key-value store
homepage
repositoryhttps://github.com/kirisaki/twinkle
max_upload_size
id189335
size47,208
Akihito KIRISAKI (kirisaki)

documentation

README

Twinkle

UDP-based, light key-value store.

Usage

Use docker. Remenber to open UDP port.

$ docker run -d -p 3000:3000/udp kirisaki:twinkle

Docker repositry is https://hub.docker.com/repository/docker/kirisaki/twinkle

Client libraly

Protocol

The protcol of twinkle is quiet simple. Only send binary messages expressed following. Its byte-order is big endian.

Ping

Request

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x01  |                UUID     
 |        |
 +--------+--------+--------+------...
          |
          |
 ...------+

Response

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x01  |                UUID     
 |        |
 +--------+--------+--------+------...
          |
          |
 ...------+

Get

Reuest

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x02  |                UUID     
 |        |
 +--------+--------+--------+------...
          |       Key       |
          |      Length     | key octets ...
 ...------+-----------------+-----...

Response(key found)

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x01  |                UUID     
 |        |
 +--------+--------+--------+------...
          |
          | value octets
 ...------+--------+------...

Response(key not found)

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x02  |                UUID     
 |        |
 +--------+--------+--------+------...
          |
          |
 ...------+

Set

Request

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x03  |                UUID     
 |        |
 +--------+--------+--------+------...
          |       Key       |
          |      Length     | key octets ...
 ...------+-----------------+-----...
          |
          | value octets ...
 ...------+--------------...

Response

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x01  |                UUID     
 |        |
 +--------+--------+--------+------...
          |
          |
 ...------+

Unset

Request

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x04  |                UUID     
 |        |
 +--------+--------+--------+------...
          |       Key       |
          |      Length     | key octets ...
 ...------+-----------------+-----...

Response

  0      7 8     15 16    23 24    31
 +--------+--------+--------+--------+
 |  0x01  |                UUID     
 |        |
 +--------+--------+--------+------...
          |
          |
 ...------+

License

BSD-3-Clause

Commit count: 61

cargo fmt