Commit Graph

1158 Commits

Author SHA1 Message Date
Robinson
9a30c031ef
Added extra checks when adding pub/sub for when there is an ERRORED state 2023-08-07 22:30:53 -06:00
Robinson
296c600245
Added more detailed info when reconnecing 2023-08-07 19:56:38 -06:00
Robinson
8aa919b28a
simplified connect redispatch logic 2023-08-07 19:56:14 -06:00
Robinson
59bc934dc1
moved checks to earlier in the connect process 2023-08-07 19:55:51 -06:00
Robinson
4d2de085a5
Added data success checks when streaming messages.
Expanded exceptions when thrown
2023-08-07 19:54:49 -06:00
Robinson
6dc7e6bc41
If we close the event poller WHILE ON the event poller, re-dispatch the close event to the CLOSE dispatch 2023-08-07 19:53:59 -06:00
Robinson
08d58fd6fd
Fixed issues with recursive aeron directory name 2023-08-07 00:09:14 -06:00
Robinson
ae08ff2c2f
Updated classutils 2023-08-05 13:24:21 -06:00
Robinson
4a80c2c0b8
Reconnect now can have a specified timeout 2023-08-04 23:32:00 -06:00
Robinson
16c8386ae1
Updated API for collections 2023-08-04 23:31:44 -06:00
Robinson
e5786550a6
Updated version 2023-07-24 02:00:03 +02:00
Robinson
3016618b1c
Added support for also changing the aeron driver idle strategies 2023-07-24 01:42:27 +02:00
Robinson
57480735c3
By default, create dev/shm for macos (ram drive). Windows still uses the disk. 2023-07-23 23:36:36 +02:00
Robinson
15c7fb2a3d
Code cleanup 2023-07-23 23:02:29 +02:00
Robinson
ccf7a37d3c
Commented out unnecessary code 2023-07-23 16:05:07 +02:00
Robinson
fa04185234
Fixed equals 2023-07-23 15:49:25 +02:00
Robinson
a140c844db
Code cleanup 2023-07-23 13:41:29 +02:00
Robinson
7f6550f1c1
Now use defaults for idle strategies 2023-07-23 13:40:42 +02:00
Robinson
6754e35c61
Code cleanup 2023-07-23 13:40:16 +02:00
Robinson
06b5f30948
Only check if a connection is closed now. We now wait for pub+sub to be "connected" before continuing to build the connection object (so it will always be in the connected state) 2023-07-23 13:39:27 +02:00
Robinson
ad3fdfc64d
Updated text names for idle strategies 2023-07-23 13:30:38 +02:00
Robinson
daec762e30
More specific errors when connection is closed during poll event 2023-07-23 01:20:16 +02:00
Robinson
949a863aca
Fixed instance assignment 2023-07-23 01:17:37 +02:00
Robinson
a087dfa9bd
Faster startup when aeron is already running and we force-allow a driver to be running on startup (usually we don't want this) 2023-07-23 01:17:09 +02:00
Robinson
936a5e2d67
Added ability for subscription to wait for a publication to connect 2023-07-23 01:16:23 +02:00
Robinson
2d8956c78c
Client waits for server publication to connect before continuing. 2023-07-22 14:18:38 +02:00
Robinson
781d530294
added comments 2023-07-21 22:46:41 +02:00
Robinson
ed2ddb239d
Tweaked aeron idle strategies 2023-07-21 22:46:30 +02:00
Robinson
ee558e666d
Added additional idle strategies 2023-07-21 21:16:49 +02:00
Robinson
ed89b634a2
Added comments 2023-07-21 21:16:37 +02:00
Robinson
2620a06409
Cleaned up how kryo's are used
Changed idleStrategy
StreamingManager no longer copies bytes (it just uses a pooled kryo instance)
2023-07-21 00:19:31 +02:00
Robinson
7ed474111a
Code cleanup 2023-07-20 22:31:27 +02:00
Robinson
916ddb857f
fixed comment typo 2023-07-20 20:41:23 +02:00
Robinson
2c0680b513
Simplified setting aeron initial window length 2023-07-20 20:41:13 +02:00
Robinson
0e37689c2c
better logs when retrying the connect sequence 2023-07-20 20:40:43 +02:00
Robinson
7bd653db2a
Better IPC checking 2023-07-20 20:40:17 +02:00
Robinson
e2a4887a19
Changed order of cleanup when done with handshake 2023-07-20 20:39:58 +02:00
Robinson
0e3cc803b2
More detailed logging when in debug mode 2023-07-20 20:39:26 +02:00
Robinson
80d77f2f51
Better lock-step and checks when closing an endpoint 2023-07-20 20:39:12 +02:00
Robinson
d787045149
Updated version 2023-07-16 14:58:01 +02:00
Robinson
94048cfe8f
Added file transport to streaming manager 2023-07-16 14:57:04 +02:00
Robinson
bb026f377b
WIP compression/crypto 2023-07-15 13:12:59 +02:00
Robinson
c4eda86bfe
Optimized how we send data (we use our own stream/block data structures for fragmentation/reassembly. 2023-07-15 13:11:50 +02:00
Robinson
93a7c9008d
Code cleanup and fixed issues when sending non-perfect multiples of our data limit. 2023-07-15 13:07:17 +02:00
Robinson
85d716e572
Changed which data structure is evaluated when saving data 2023-07-15 13:05:57 +02:00
Robinson
5583948961
Added AeronWriter size initialization 2023-07-15 13:05:19 +02:00
Robinson
2f8c78ddee
Added ipcMTU to aeron config (it will be the same as the network MTU). This must be the same value, since our internal read/write serialization buffers) 2023-07-14 13:39:08 +02:00
Robinson
215ed20056
Changed wording of chunk -> block 2023-07-14 13:33:36 +02:00
Robinson
290c5bd768
Cleaned up comments 2023-07-12 14:20:04 +02:00
Robinson
09748326c9
Cleaned up crypto management, removed dead code 2023-07-12 14:19:54 +02:00
Robinson
6bf870bd7b
Split kryo TYPES into read/write types, so usage is very clear. Now use a kryo pool for concurrent serialization 2023-07-12 14:08:46 +02:00
Robinson
d3c3bf50d6
Changed applicationId -> appId 2023-07-12 14:04:32 +02:00
Robinson
2f7a365f75
Moved errorCodeName into the driver 2023-07-11 11:50:48 +02:00
Robinson
f1ebd076bf
Removed dependency on aeron-aal (which was only for samples) 2023-07-11 09:48:26 +02:00
Robinson
87b65d061a
Now supports JPMS (kotlin-only 9+ projects must use a workaround) 2023-07-11 00:27:39 +02:00
Robinson
c4ddfe8675
Fixed unnecessary non-null assertions 2023-07-11 00:23:08 +02:00
Robinson
990652288e
Code cleanup 2023-07-11 00:12:09 +02:00
Robinson
4797b7e816
Added port1/2 settings to server + client.
Fixed relevant unit tests
2023-07-11 00:11:58 +02:00
Robinson
ebad4d234b
Fixed driver liveliness checks 2023-07-11 00:02:40 +02:00
Robinson
cba66a6959
Removed SigInt catch. It should be managed by the application, not the library. 2023-07-05 12:53:21 +02:00
Robinson
897db748e7
Removed dead code 2023-07-05 12:52:36 +02:00
Robinson
ce6ffec197
When an endpoint restarts too quickly, wait a more appropriate timeout 2023-07-05 12:52:23 +02:00
Robinson
a8903b2382
Cleaned up close API 2023-07-04 01:00:01 +02:00
Robinson
74066060d7
Fixed close ambiguity 2023-07-03 22:02:02 +02:00
Robinson
739ad30987
Exposed direct commands to delete the aeron directory 2023-07-03 21:44:09 +02:00
Robinson
f4c01d6f94
Expose the endpoint config. 2023-07-03 21:41:06 +02:00
Robinson
b4a57c9525
ListenerManager now uses volatile arrays instead of atomic (still follows single-writer-principle) 2023-07-03 21:40:07 +02:00
Robinson
2b4ba1347e
Connection handshake timeouts are more standardized to nanoseconds 2023-07-03 19:18:34 +02:00
Robinson
23d4ea4609
Cleaned up deleting log files on a bad handshake 2023-07-03 14:59:11 +02:00
Robinson
effc88feb7
Registered close to SigInt 2023-07-03 14:58:46 +02:00
Robinson
a4e2e714c4
made event access more east to understand 2023-07-03 14:58:29 +02:00
Robinson
7b7910d078
Better try/catch around handshake logic 2023-07-03 11:57:26 +02:00
Robinson
7a39044df0
Fixed memory leak when shutting down 2023-07-03 11:23:42 +02:00
Robinson
ee296394de
Fixed issues when deserializing messages during the HANDSHAKE, where we would run out of memory (instantly delete the image file representing the bad connection). 2023-07-03 10:46:18 +02:00
Robinson
2a52c2b4d5
Cleaned up how pub/priv key are initialized/used 2023-07-03 01:47:18 +02:00
Robinson
eeeeed81aa
Better double check when starting up to see if aeron is already running 2023-07-03 00:54:44 +02:00
Robinson
edada596f0
public/private keys + salt use kotlin val get/set now (cleaner API) 2023-07-02 22:00:11 +02:00
Robinson
6220ec617b
Better toString() methods for the unique ID of the client/server 2023-07-02 21:59:45 +02:00
Robinson
e403e1d6e1
Now use the client public-key as the client ID for the connection (to determine/know exactly which connection belongs to what client) 2023-07-02 21:56:46 +02:00
Robinson
87e790dcaf
Added support for publication cache during handshake. 2023-07-01 22:51:53 +02:00
Robinson
0848badc69
IP address/bind check ignored for IPC connections 2023-07-01 22:51:20 +02:00
Robinson
0e13da73c9
fixed typo 2023-07-01 22:50:22 +02:00
Robinson
b9fc246af1
Code cleanup 2023-07-01 13:44:02 +02:00
Robinson
eb0bde3354
Removed unnecessary buffer flush on error 2023-07-01 13:31:50 +02:00
Robinson
c35b2c3115
Fixed merge conflicts 2023-07-01 13:26:06 +02:00
Robinson
598e06e9d3
Fixed merge conflicts 2023-07-01 13:20:14 +02:00
Robinson
141a39544a
part 2, moved IPC/UDP handshake ids to config 2023-07-01 11:43:55 +02:00
Robinson
6020f06661
code cleanup 2023-07-01 11:43:20 +02:00
Robinson
a42c9ad940
Better log message 2023-07-01 11:42:54 +02:00
Robinson
cce3957089
Moved IPC/UDP handshake stream ID to config 2023-07-01 11:41:47 +02:00
Robinson
55737c41c3
Code cleanup 2023-07-01 11:41:10 +02:00
Robinson
ace2ac453b
When adding a pub/sub, guarantee that it is active and bound. 2023-07-01 11:37:09 +02:00
Robinson
a41a6c6d62
Added comments 2023-07-01 11:28:34 +02:00
Robinson
12977bb046
wait longer if the system is trying to start too quickly 2023-07-01 11:28:22 +02:00
Robinson
6202015b08
Cleaned up newException stack traces 2023-06-30 00:06:53 +02:00
Robinson
9f3c265ee1
Flush the read buffer when kryo encounters an error reading data 2023-06-30 00:04:29 +02:00
Robinson
2a1c303c6a
Moved localAddressString logic the Driver 2023-06-29 23:51:56 +02:00
Robinson
0cc8828ce8
Better log message for what port is used on the server 2023-06-29 21:50:49 +02:00
Robinson
7cbfa679b5
More expressive error logs when a pub/sub cannot be created 2023-06-29 21:50:28 +02:00
Robinson
daa0d14e2b
Endpoint RuntimeShutdown hook is in a try/catch now 2023-06-29 20:57:01 +02:00