Arnaud Cogoluègnes
17d0ba9317
Return "no offset" (19) code when stored offset is undefined
...
Fixes #3783
2021-12-01 17:59:14 +01:00
wrobell
07dc62af7c
Link to most recent description of Osiris chunk format
...
The most recent description of Osiris chunk format does not reference
the timestamp field to be "posix-ish" anymore. This was bit misleading
as it is Erlang's system time.
Add link to Erlang system time documentation to the subscription command
description to avoid confusion about the timestamp field.
2021-11-24 18:34:55 +00:00
wrobell
b4f39031f6
Fix description of "deliver" command in RabbitMQ Streams protocol documentation
...
Add missing fields - chunk type, timestamp, trailer length and reserved.
The fields are added after looking at
3fd348d225/src/main/java/com/rabbitmq/stream/impl/ServerFrameHandler.java (L267)
https://github.com/qweeze/rstream/blob/master/rstream/schema.py#L376
Change type of "version" field - it shall be uint16 like in other
commands.
2021-11-14 14:51:35 +00:00
wrobell
08c417fdb7
Use hex values in RabbitMQ Streams protocol description
...
The protocol documentation uses decimal values for error and request key
codes.
Let's use hex values instead. This helps when looking at a request and
its response - 0x0006 and 0x8006 vs. 6 and 32774.
Also, when looking at output of protocol analysis tools like Wireshark,
a hexadecimal value will be printed, for example:
"Nov 1, 2021 23:05:19.395825508 GMT","60216,5552","00000009000600010000000701"
"Nov 1, 2021 23:05:19.396069528 GMT","5552,60216","0000000a80060001000000070001"
Above, we can visually identify delete publisher request and response
(0x0006 and 0x8006) and easily match them in the documentation of the
protocol.
Finally, above argument applies to logging as it is common to log
hex values, not decimal.
2021-11-02 18:31:30 +00:00
wrobell
e74823d68c
Fix use of "RabbitMQ Streams" in protocol documentation
...
The following RabbitMQ page uses "RabbitMQ Streams" or "streams",
therefore use it in the protocol documentation as well
https://blog.rabbitmq.com/posts/2021/07/rabbitmq-streams-overview
2021-10-29 19:06:06 +01:00
wrobell
57ff5dbf4a
Fix RabbitMQ Streams protocol documentation
...
1. Response for publisher declaration request does not contain
publisher id.
2. Add mechanism entry to the details of SASL handshake request.
3. SASL handshake response contains list of mechanisms, not just single
mechanism.
2021-10-28 17:53:22 +01:00
Arnaud Cogoluègnes
8f207e3c5f
Make stream protocol route command return several streams
...
We expect to have 1 stream for each routing key, but
as binding can return several queues for a given key we
let that possibility open in the stream protocol.
2021-09-13 17:53:25 +02:00
Federico Caprari
2246727428
Fix store offset parameters
...
As you can see 860333a088/deps/rabbitmq_stream_common/src/rabbit_stream_core.erl (L239)
There is the stream name and not the subscription id in this message.
2021-09-01 22:13:07 +02:00
Karl Nilsson
f38c023aa8
Correct Publish frame docs
2021-07-21 09:13:55 +01:00
Gabriele Santomaggio
71c355c963
Fix links
2021-07-20 17:42:56 +02:00
Gabriele Santomaggio
de0f7952e9
Add resources link
...
to client guide line and streams internals
2021-07-20 09:55:25 +02:00
Arnaud Cogoluègnes
7cb2645283
Replace commit with store for offset persistence
...
In stream protocol. Commit have a strong consistency connotation,
which is not actually enforced by the offset persistence
mechanism.
2021-07-08 10:32:04 +02:00
Arnaud Cogoluègnes
dcd65572a0
Remove correlation ID from commit_offset
...
In stream protocol. commit_offset is asynchronous and does
not expect a response, so the correlation ID is not required.
2021-06-10 15:21:38 +02:00
Arnaud Cogoluègnes
8f8e08a9a9
Send advertised host and port in open
...
More secure than in peer properties frame, which is just
at the beginning of the connection opening.
2021-05-21 13:03:38 +02:00
Arnaud Cogoluègnes
c15805b472
Fix stream protocol open origin
...
Client, not server.
2021-05-19 12:34:35 +02:00
Arnaud Cogoluègnes
7adac7a71b
Add subscription properties to stream protocol
2021-05-19 12:26:30 +02:00
Arnaud Cogoluègnes
a807027adf
Use unsigned ints in stream protocol, when appropriate
2021-02-26 11:59:16 +01:00
Arnaud Cogoluègnes
9f0bec8def
Start constants at 1 for stream plugin
2021-02-26 11:48:45 +01:00
Arnaud Cogoluègnes
768a61792e
Use MSB in keys to distinguish requests/responses
...
In stream protocol.
2021-02-26 11:03:36 +01:00
Arnaud Cogoluègnes
d70b55aa0c
Add route and partitions command to stream plugin
...
For publishing to super streams.
2021-02-25 17:22:42 +01:00
Arnaud Cogoluègnes
047e87137c
No global response code for metadata in stream protocol
2021-02-22 15:24:24 +01:00
Arnaud Cogoluègnes
9696861181
Fix stream protocol documentation after review
2021-02-22 15:19:58 +01:00
Arnaud Cogoluègnes
b61be1e409
Mention stream protocol responses can have extra info
2021-02-22 11:42:34 +01:00
Arnaud Cogoluègnes
a559c79b8c
Add response codes to stream protocol page
2021-01-18 14:25:24 +01:00
Arnaud Cogoluègnes
0d73b58be0
Re-order stream command constants
...
The order is more usage-oriented.
2021-01-18 11:25:21 +01:00
Arnaud Cogoluègnes
59bc60fe36
Add query publisher sequence
2020-11-26 10:02:13 +01:00
Arnaud Cogoluègnes
8f97ea400a
Start adding publishing dedup support for streams
2020-11-24 17:48:41 +01:00
Arnaud Cogoluègnes
580beb21bf
Include publish dedup in stream protocol
2020-11-20 11:43:04 +01:00
Arnaud Cogoluègnes
5e80aa9f39
Add correlation ID field in commit offset frame
...
Not used yet, but can avoid a command version change if the command
should have confirm response.
2020-10-02 14:16:22 +02:00
Arnaud Cogoluègnes
03a11e0771
Adapt failure tests
...
They are a bit more defensive. The subscription is also now more
reliable by returning a stream-not-available code if necessary.
Using also Aten poll interval to 1 second (bumped to 5 seconds in master
now).
2020-09-29 11:29:56 +02:00
Arnaud Cogoluègnes
cf5e99cd29
Add offset tracking commands
2020-09-15 17:52:05 +02:00
Arnaud Cogoluègnes
21d9aea96c
Add publisher ID
2020-09-02 15:13:37 +02:00
Arnaud Cogoluègnes
9a788362dd
Change sub ID to byte in protocol reference
2020-09-01 18:13:41 +02:00
Arnaud Cogoluègnes
2fd743f2bd
Add credit response to protocol reference
2020-06-19 15:27:46 +02:00
Arnaud Cogoluègnes
c39852fa72
Introduce PeerProperties command
...
To exchange client/server properties at the beginning of the connection.
2020-06-10 10:42:29 +02:00
Arnaud Cogoluègnes
d2a29c5aef
Support client properties
2020-06-09 17:48:23 +02:00
Arnaud Cogoluègnes
121f0e3575
Improve readme
2020-06-09 13:53:49 +02:00
Arnaud Cogoluègnes
a56cf4013c
Support first/last/next/offset/timestamp offset spec
2020-06-02 16:35:00 +02:00
Arnaud Cogoluègnes
9536d74f9d
Update link to osiris for data format
2020-06-02 11:13:19 +02:00
Arnaud Cogoluègnes
2f8559ae41
Polish documentation
2020-05-25 17:56:02 +02:00
Arnaud Cogoluègnes
838ef21b0d
Document authentication sequence
2020-05-25 17:53:34 +02:00
Arnaud Cogoluègnes
4faa853b00
Fix link in documentation
2020-05-25 17:04:00 +02:00
Arnaud Cogoluègnes
0f86e54b61
Cover all commands in protocol documentation
2020-05-25 17:02:43 +02:00
Arnaud Cogoluègnes
b7f70c6598
Fix links in documentation
2020-05-25 15:57:16 +02:00
Arnaud Cogoluègnes
848c95a181
Start documenting protocol
2020-05-25 15:55:51 +02:00