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
b2f30a55ba
Use byte for sub ID in credit notification
2020-09-01 18:14:07 +02:00
Arnaud Cogoluègnes
db93e14932
Use byte for subscription ID
...
Instead of integer. This is to be consistent with the introduction of a
similar ID for publishers (which will be a byte as well).
2020-09-01 18:07:27 +02:00
Arnaud Cogoluègnes
ea2636cbb3
Add debug log during deletion
2020-08-07 16:43:34 +02:00
Arnaud Cogoluègnes
40f2db4291
Add function to kill connection based on name
...
For test purposes.
2020-08-05 14:43:07 +02:00
Arnaud Cogoluègnes
a886cd8872
Send heartbeat from the reader process
...
If the heartbeat frame is sent from a dedicated process, it interleaves
between 2 socket calls from the reader process. Frames are typically
sent in one call, so this is fine, but a chunk is delivered with 2
calls, one for the frame header and one send_file for the chunk. So the
heartbeat frame can sneak in between these 2 calls, which makes clients
fail to parse frames.
2020-07-10 09:42:00 +02:00
Arnaud Cogoluègnes
92ebb825cb
Handle error case when creating a stream
2020-07-10 09:24:24 +02:00
Arnaud Cogoluègnes
7740fee13e
Pass in monitor reference, not stream name
2020-07-09 11:33:44 +02:00
Arnaud Cogoluègnes
af2dcf7f57
Handle publishing sub-entries (batch)
2020-06-30 17:29:28 +02:00
Arnaud Cogoluègnes
7270125c0b
Fix closing sequence
...
When server sends close, it would not listen on the socket for the
client confirmation.
2020-06-26 16:33:39 +02:00
Arnaud Cogoluègnes
4a05b6b62a
Ignore non-responding brokers in metadata command
2020-06-25 15:32:33 +02:00
Arnaud Cogoluègnes
1d3978ae40
Change response code label
...
From "stream deleted" to "stream not available". It covers now the
deletion of a stream and the unavailibility due to a failure. This is up
to the client to find out what to do (typically send a metadata request
about the stream and see if it's still there).
2020-06-23 10:51:34 +02:00
Arnaud Cogoluègnes
7b3d8c4ad0
Use Erlang monitor to detect stream deletion/failure
2020-06-22 18:33:54 +02:00
Arnaud Cogoluègnes
5bd352737c
Pass in node information to Java test suite
2020-06-22 16:35:07 +02:00
Arnaud Cogoluègnes
f8074a9f93
Notify client when it credits an unknown subscription
2020-06-19 15:19:39 +02:00
Arnaud Cogoluègnes
27c4e1e707
Add authorisation on publishing
2020-06-18 17:00:02 +02:00
Arnaud Cogoluègnes
5f69ef7cf7
Add authorisation for subscription
2020-06-18 16:13:14 +02:00
Arnaud Cogoluègnes
397c5ca078
Add authorisation for creation/deletion
2020-06-18 15:25:50 +02:00
Arnaud Cogoluègnes
3c18498734
Clean manager listener code
...
Now the manager uses the coordinator to know about deleted streams.
2020-06-18 10:57:01 +02:00
Arnaud Cogoluègnes
a1314a13c9
Use coordinator to get notified on stream deletion
2020-06-18 08:58:59 +02:00
Arnaud Cogoluègnes
625eaec004
Use rabbit_log
2020-06-15 11:17:27 +02:00
Arnaud Cogoluègnes
6a07d385ae
Add specs t stream manager
2020-06-11 11:05:02 +02:00
Arnaud Cogoluègnes
bb5efad9ef
Fix dialyzer errors
2020-06-10 18:13:55 +02:00
Arnaud Cogoluègnes
76162b18a2
Add type specifications
2020-06-10 16:24:18 +02:00
Arnaud Cogoluègnes
19a1eb4013
Remove some unnecessary comments
2020-06-10 15:06:51 +02:00
Arnaud Cogoluègnes
16288a2596
Separate changing state from (almost) immutable state
2020-06-10 15:04:31 +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
6ef10c8573
Use MPL 2.0
2020-06-08 09:54:33 +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
ecf47a8a42
Fix typo
2020-06-02 10:47:46 +02:00
Arnaud Cogoluègnes
2ab7e864dc
Consume from a local member
2020-05-28 11:59:13 +02:00
Arnaud Cogoluègnes
efc6fbc089
Add advertised host/port settings
...
This allows to communicate whatever it's appropriate to clients when
they issue the metadata command.
2020-05-28 10:47:30 +02:00
Arnaud Cogoluègnes
b54026aa32
Add arguments for stream creation
...
To handle retention settings.
2020-05-19 18:18:30 +02:00
Arnaud Cogoluègnes
55adca1b44
Make sure queue is stream queue
2020-05-07 11:00:45 +02:00
Arnaud Cogoluègnes
c2e35eb55f
Use stream coordinator to manage streams
2020-05-06 17:35:41 +02:00
Arnaud Cogoluègnes
2d19e85925
Use stream instead of target
2020-05-06 09:15:16 +02:00
Arnaud Cogoluègnes
b61a79b9ff
Credit value is signed
2020-04-03 11:00:35 +02:00
Arnaud Cogoluègnes
204f61399b
Handle client heartbeat
2020-04-01 10:08:32 +02:00
Arnaud Cogoluègnes
8c97d442ce
Add heartbeat
2020-03-31 14:43:06 +02:00
Arnaud Cogoluègnes
ece2a4770f
Refactoring before introducing heartbeat
...
Introduce a level of supervisors to have a parent PID for the heartbeat
process.
2020-03-31 10:12:35 +02:00
Arnaud Cogoluègnes
b693f71c5d
Add todo task
2020-03-30 17:46:27 +02:00
Arnaud Cogoluègnes
47d46d145b
Send close when client sends frame too large
2020-03-30 15:18:57 +02:00
Arnaud Cogoluègnes
e899bdfb3e
Refactor tune
...
Use int32 for both max frame size and bump max frame size to 1 MB.
2020-03-27 15:55:57 +01:00
Arnaud Cogoluègnes
9667525cd7
Update test for opening sequence
2020-03-26 17:52:54 +01:00
Arnaud Cogoluègnes
4e035dfbdb
Add support to send close
2020-03-26 16:56:53 +01:00
Arnaud Cogoluègnes
a26962cfcb
Handle close command from client
2020-03-26 14:52:19 +01:00
Arnaud Cogoluègnes
7c33112f25
Check virtual host access in open
2020-03-26 09:53:28 +01:00
Arnaud Cogoluègnes
728a017f9e
Add skeleton for tune and open
2020-03-25 17:06:04 +01:00
Arnaud Cogoluègnes
b84de96d0b
Add test for authentication
2020-03-25 10:08:10 +01:00
Arnaud Cogoluègnes
55a836b488
Refactor to pre/post authentication frame handling
2020-03-24 17:42:10 +01:00
Arnaud Cogoluègnes
6ae44768f3
Handle null binary in SASL authenticate
2020-03-24 16:40:05 +01:00
Arnaud Cogoluègnes
22dc72c9d9
Handle SASL authenticate
2020-03-24 11:47:50 +01:00
Arnaud Cogoluègnes
e2f11fdafc
Handle SASL handshake
2020-03-23 14:54:59 +01:00
Arnaud Cogoluègnes
1f42faeab8
Refactor after some Osiris changes
2020-03-23 10:48:46 +01:00
Arnaud Cogoluègnes
4e8a801e8d
Add license information
2020-03-17 10:59:37 +01:00
Arnaud Cogoluègnes
ab98aecd17
Initial import
2020-03-16 16:40:02 +01:00