You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As part of making this API performant, all reading endpoints support long-polling as an efficient alternative to regular (repeated) polling. Using this function requires the following parameters:
401
401
402
-
-`wait_count`: The API call will block until at least this many results are available. If there are more matching tasks/results avalible all of them will be returned.
402
+
-`wait_count`: The API call will block until at least this many results are available. If there are more matching tasks/results available all of them will be returned.
403
403
-`wait_time`: ... or this time has passed (if not stated differently, e.g., by adding 'm', 'h', 'ms', ..., this is interpreted as seconds), whichever comes first.
404
404
405
405
For example, retrieving a task's results:
@@ -629,6 +629,12 @@ Samply.Beam encrypts all information in the `body` fields of both Tasks and Resu
629
629
630
630
The data is symmetrically encrypted using the Authenticated Encryption with Authenticated Data (AEAD) algorithm "XChaCha20Poly1305", a widespread algorithm (e.g., mandatory for the TLS protocol), regarded as highly secure by experts. The used [chacha20poly1305 library](https://docs.rs/chacha20poly1305/latest/chacha20poly1305/) was sublected to a [security audit](https://research.nccgroup.com/2020/02/26/public-report-rustcrypto-aes-gcm-and-chacha20poly1305-implementation-review/), with no significant findings. The randomly generated symmetric keys are encapsulated in a RSA encrypted ciphertext using OAEP Padding. This ensures, that only the intended recipients can decrypt the key and subsequently the transferred data.
631
631
632
+
### Health check connection
633
+
634
+
The beam proxy tries to keep a permanent connection to the broker to make it possible to see which sites are currently connected.
635
+
This also allows us to detected invalid connection states such as multiple proxies with the same proxy id connecting simultaneously.
636
+
In that case the second proxy trying to connect will receive a 409 status code and shut down.
// We wait here for one second to give the client a bit of time to reconnect incrementing the connection count so that it will be one again after the decrement
114
-
tokio::time::sleep(Duration::from_secs(1)).await;
115
-
map.write()
116
-
.await
117
-
.proxies
118
-
.get_mut(&proxy_id)
119
-
.expect("Has to exist as we don't remove items and the constructor of this type inserts the entry")
0 commit comments