Skip to content

Commit bb51961

Browse files
v1.0.8
1 parent 6ae6d78 commit bb51961

11 files changed

Lines changed: 574 additions & 318 deletions

File tree

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<img src="https://static.wikia.nocookie.net/arnelify/images/c/c8/Arnelify-logo-2024.png/revision/latest?cb=20240701012515" style="width:336px;" alt="Arnelify Logo" />
22

3-
![Arnelify Server for C & C++](https://img.shields.io/badge/Arnelify%20Server%20for%20C++-0.9.8-yellow) ![C++](https://img.shields.io/badge/C++-2b-red) ![G++](https://img.shields.io/badge/G++-15.2.0-blue) ![C-Lang](https://img.shields.io/badge/CLang-19.1.7-blue)
3+
![Arnelify Server for C & C++](https://img.shields.io/badge/Arnelify%20Server%20for%20C++-1.0.8-yellow) ![C++](https://img.shields.io/badge/C++-2b-red) ![G++](https://img.shields.io/badge/G++-15.2.0-blue) ![C-Lang](https://img.shields.io/badge/CLang-19.1.7-blue)
44

55
## 🚀 About
66

@@ -166,11 +166,12 @@ int main() {
166166
| - | - |
167167
| **BLOCK_SIZE_KB**| The size of the allocated memory used for processing large packets. |
168168
| **COMPRESSION**| If this option is enabled, the server will use BROTLI compression if the client application supports it. This setting increases CPU resource consumption. The server will not use compression if the data size exceeds the value of **BLOCK_SIZE_KB**. |
169-
| **HANDSHAKE_TIMEOUT**| Maximum time in seconds to complete the TLS handshake. |
170169
| **MAX_MESSAGE_SIZE_MB**| Maximum size of a single message the server will accept from a client. |
171170
| **PING_TIMEOUT**| Maximum time the server will wait for a ping from the client. |
172171
| **PORT**| Defines which port the server will listen on. |
173-
| **SEND_TIMEOUT**| Maximum time for the client to receive a response from the server. |
172+
| **RATE_LIMIT**| Defines the maximum number of connections allowed from a single IP address. |
173+
| **READ_TIMEOUT**| Maximum time allowed for a client to send a request to the server. |
174+
| **SEND_TIMEOUT**| Maximum time allowed for the client to receive a response from the server. |
174175
| **THREAD_LIMIT**| Defines the maximum number of threads that will handle requests.|
175176

176177
### 📚 Examples
@@ -185,10 +186,11 @@ int main() {
185186
WebSocketOpts opts(
186187
/* block_size_kb */ 64,
187188
/* compression */ false,
188-
/* handshake_timeout */ 30,
189189
/* max_message_size_kb */ 64,
190190
/* ping_timeout */ 15,
191191
/* port */ 4433,
192+
/* rate_limit */ 5,
193+
/* read_timeout */ 30,
192194
/* send_timeout */ 30,
193195
/* thread_limit */ 4);
194196

@@ -398,7 +400,7 @@ make test_http1
398400
```
399401

400402
## ⭐ Release Notes
401-
Version 0.9.8 — a multi-language server with HTTP 3.0 and WebTransport support.
403+
Version 1.0.8 — a multi-language server with HTTP 3.0 and WebTransport support.
402404

403405
We are excited to introduce the Arnelify Server for NodeJS! Please note that this version is raw and still in active development.
404406

native/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

native/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "arnelify_server"
33
description = "Multi-language server with HTTP 3.0 and WebTransport support."
44
keywords = ["arnelify", "server", "quic", "http3", "webtransport"]
5-
version = "0.9.6"
5+
version = "1.0.8"
66
authors = ["Arnelify", "Taron Sarkisyan"]
77
license = "MIT"
88
repository = "http://github.com/arnelify/arnelify-server-rust"

native/src/lib.rs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222

2323
//! <img src="https://static.wikia.nocookie.net/arnelify/images/c/c8/Arnelify-logo-2024.png/revision/latest?cb=20240701012515" style="width:336px;" alt="Arnelify Logo" />
2424
//!
25-
//! ![Arnelify Server for Rust](https://img.shields.io/badge/Arnelify%20Server%20for%20Rust-0.9.8-yellow)
25+
//! ![Arnelify Server for Rust](https://img.shields.io/badge/Arnelify%20Server%20for%20Rust-1.0.8-yellow)
2626
//! ![Rust](https://img.shields.io/badge/Rust-1.91.1-orange)
2727
//! ![Cargo](https://img.shields.io/badge/Cargo-1.91.1-blue)
2828
//!
@@ -206,11 +206,12 @@
206206
//! | - | - |
207207
//! | **BLOCK_SIZE_KB**| The size of the allocated memory used for processing large packets. |
208208
//! | **COMPRESSION**| If this option is enabled, the server will use BROTLI compression if the client application supports it. This setting increases CPU resource consumption. The server will not use compression if the data size exceeds the value of **BLOCK_SIZE_KB**. |
209-
//! | **HANDSHAKE_TIMEOUT**| Maximum time in seconds to complete the TLS handshake. |
210209
//! | **MAX_MESSAGE_SIZE_MB**| Maximum size of a single message the server will accept from a client. |
211210
//! | **PING_TIMEOUT**| Maximum time the server will wait for a ping from the client. |
212211
//! | **PORT**| Defines which port the server will listen on. |
213-
//! | **SEND_TIMEOUT**| Maximum time for the client to receive a response from the server. |
212+
//! | **RATE_LIMIT**| Defines the maximum number of connections allowed from a single IP address. |
213+
//! | **READ_TIMEOUT**| Maximum time allowed for a client to send a request to the server. |
214+
//! | **SEND_TIMEOUT**| Maximum time allowed for the client to receive a response from the server. |
214215
//! | **THREAD_LIMIT**| Defines the maximum number of threads that will handle requests.|
215216
//!
216217
//! ## Examples
@@ -231,12 +232,13 @@
231232
//! let ws_opts: WebSocketOpts = WebSocketOpts {
232233
//! block_size_kb: 64,
233234
//! compression: false,
234-
//! handshake_timeout: 30,
235235
//! max_message_size_kb: 64,
236236
//! ping_timeout: 15,
237237
//! port: 4433,
238+
//! rate_limit: 5,
239+
//! read_timeout: 30,
238240
//! send_timeout: 30,
239-
//! thread_limit: 4,
241+
//! thread_limit: 4
240242
//! };
241243
//!
242244
//! let ws: WebSocket = WebSocket::new(ws_opts);
@@ -450,7 +452,7 @@
450452
//! ```
451453
//! # Release Notes
452454
//!
453-
//! Version 0.9.8 — a multi-language server with HTTP 3.0 and WebTransport support.
455+
//! Version 1.0.8 — a multi-language server with HTTP 3.0 and WebTransport support.
454456
//!
455457
//! We are excited to introduce the Arnelify Server for Rust! Please note that this version is raw and still in active development.
456458
//!
@@ -1477,10 +1479,11 @@ pub extern "C" fn ws_create(c_opts: *const c_char) -> c_int {
14771479
let ws_opts: WebSocketOpts = WebSocketOpts {
14781480
block_size_kb: get_usize(&opts, "block_size_kb"),
14791481
compression: get_bool(&opts, "compression"),
1480-
handshake_timeout: get_u64(&opts, "handshake_timeout"),
14811482
max_message_size_kb: get_u64(&opts, "max_message_size_kb"),
14821483
ping_timeout: get_u64(&opts, "ping_timeout"),
14831484
port: get_u16(&opts, "port"),
1485+
rate_limit: get_u64(&opts, "rate_limit"),
1486+
read_timeout: get_u64(&opts, "read_timeout"),
14841487
send_timeout: get_u64(&opts, "send_timeout"),
14851488
thread_limit: get_u64(&opts, "thread_limit"),
14861489
};

0 commit comments

Comments
 (0)