Skip to content

Commit 42716c7

Browse files
committed
[eclipse-iceoryx#690] restructure client example; cap max memory size to 1mb
1 parent 12daf1c commit 42716c7

File tree

3 files changed

+13
-15
lines changed

3 files changed

+13
-15
lines changed

examples/rust/publish_subscribe_dynamic_data/publisher.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ fn main() -> Result<(), Box<dyn core::error::Error>> {
3939
let mut counter = 0;
4040

4141
while node.wait(CYCLE_TIME).is_ok() {
42-
let required_memory_size = (counter + 1) * (counter + 1);
42+
let required_memory_size = 1_000_000.min((counter + 1) * (counter + 1));
4343
let sample = publisher.loan_slice_uninit(required_memory_size)?;
4444
let sample = sample.write_from_fn(|byte_idx| ((byte_idx + counter) % 255) as u8);
4545

examples/rust/request_response_dynamic_data/client.rs

+11-13
Original file line numberDiff line numberDiff line change
@@ -38,32 +38,30 @@ fn main() -> Result<(), Box<dyn core::error::Error>> {
3838

3939
let mut counter = 0;
4040

41-
let mut required_memory_size = 1;
42-
let request = client.loan_slice_uninit(required_memory_size)?;
43-
let request = request.write_from_fn(|_| 0);
44-
let mut pending_response = request.send()?;
41+
loop {
42+
counter += 1;
43+
44+
let required_memory_size = 1_000_000.min((counter + 1) * (counter + 1));
45+
let request = client.loan_slice_uninit(required_memory_size)?;
46+
let request = request.write_from_fn(|byte_idx| ((byte_idx + counter) % 255) as u8);
47+
let pending_response = request.send()?;
4548

46-
while node.wait(CYCLE_TIME).is_ok() {
4749
println!(
4850
"send request {} with {} bytes ...",
4951
counter, required_memory_size
5052
);
5153

54+
if !node.wait(CYCLE_TIME).is_ok() {
55+
break;
56+
}
57+
5258
// acquire all responses to our request from our buffer that were sent by the servers
5359
while let Some(response) = pending_response.receive()? {
5460
println!(
5561
" received response with {} bytes",
5662
response.payload().len()
5763
);
5864
}
59-
60-
counter += 1;
61-
// send all other requests by using zero copy API
62-
required_memory_size = (counter + 1) * (counter + 1);
63-
let request = client.loan_slice_uninit(required_memory_size)?;
64-
let request = request.write_from_fn(|byte_idx| ((byte_idx + counter) % 255) as u8);
65-
66-
pending_response = request.send()?;
6765
}
6866

6967
println!("exit");

examples/rust/request_response_dynamic_data/server.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ fn main() -> Result<(), Box<dyn core::error::Error>> {
4444
active_request.payload().len()
4545
);
4646

47-
let required_memory_size = counter + 1;
47+
let required_memory_size = 1_000_000.min((counter + 1) * (counter + 1));
4848
let response = active_request.loan_slice_uninit(required_memory_size)?;
4949
let response = response.write_from_fn(|byte_idx| ((byte_idx + counter) % 255) as u8);
5050
println!(" send response with {} bytes", response.payload().len());

0 commit comments

Comments
 (0)