@@ -22,15 +22,18 @@ use iceoryx2::{
2222use thiserror:: Error ;
2323
2424use crate :: {
25- live:: { ipc:: Channel , BotError , Instrument } ,
25+ live:: {
26+ ipc:: {
27+ config:: { ChannelConfig , MAX_PAYLOAD_SIZE } ,
28+ Channel ,
29+ } ,
30+ BotError ,
31+ Instrument ,
32+ } ,
2633 prelude:: { LiveEvent , LiveRequest } ,
2734 types:: BuildError ,
2835} ;
2936
30- const MAX_PAYLOAD_SIZE : usize = 512 ;
31- const MAX_BOTS_PER_CONNECTOR : usize = 500 ;
32- const CHANNEL_BUFFER_SIZE : usize = 100000 ;
33-
3437#[ derive( Default , Debug ) ]
3538#[ repr( C ) ]
3639pub struct CustomHeader {
@@ -74,6 +77,7 @@ impl IceoryxBuilder {
7477 }
7578
7679 pub fn receiver < T > ( self ) -> Result < IceoryxReceiver < T > , ChannelError > {
80+ let config = ChannelConfig :: load_config ( ) ;
7781 let node = NodeBuilder :: new ( )
7882 . create :: < ipc:: Service > ( )
7983 . map_err ( |error| ChannelError :: BuildError ( error. to_string ( ) ) ) ?;
@@ -83,9 +87,9 @@ impl IceoryxBuilder {
8387 . map_err ( |error| ChannelError :: BuildError ( error. to_string ( ) ) ) ?;
8488 node. service_builder ( & service_name)
8589 . publish_subscribe :: < [ u8 ] > ( )
86- . subscriber_max_buffer_size ( CHANNEL_BUFFER_SIZE )
90+ . subscriber_max_buffer_size ( config . buffer_size )
8791 . max_publishers ( 1 )
88- . max_subscribers ( MAX_BOTS_PER_CONNECTOR )
92+ . max_subscribers ( config . max_bots )
8993 . user_header :: < CustomHeader > ( )
9094 . open_or_create ( )
9195 . map_err ( |error| ChannelError :: BuildError ( error. to_string ( ) ) ) ?
@@ -94,8 +98,8 @@ impl IceoryxBuilder {
9498 . map_err ( |error| ChannelError :: BuildError ( error. to_string ( ) ) ) ?;
9599 node. service_builder ( & service_name)
96100 . publish_subscribe :: < [ u8 ] > ( )
97- . subscriber_max_buffer_size ( CHANNEL_BUFFER_SIZE )
98- . max_publishers ( MAX_BOTS_PER_CONNECTOR )
101+ . subscriber_max_buffer_size ( config . buffer_size )
102+ . max_publishers ( config . max_bots )
99103 . max_subscribers ( 1 )
100104 . user_header :: < CustomHeader > ( )
101105 . open_or_create ( )
@@ -114,6 +118,7 @@ impl IceoryxBuilder {
114118 }
115119
116120 pub fn sender < T > ( self ) -> Result < IceoryxSender < T > , ChannelError > {
121+ let config = ChannelConfig :: load_config ( ) ;
117122 let node = NodeBuilder :: new ( )
118123 . create :: < ipc:: Service > ( )
119124 . map_err ( |error| ChannelError :: BuildError ( error. to_string ( ) ) ) ?;
@@ -123,8 +128,8 @@ impl IceoryxBuilder {
123128 . map_err ( |error| ChannelError :: BuildError ( error. to_string ( ) ) ) ?;
124129 node. service_builder ( & service_name)
125130 . publish_subscribe :: < [ u8 ] > ( )
126- . subscriber_max_buffer_size ( 100000 )
127- . max_publishers ( 500 )
131+ . subscriber_max_buffer_size ( config . buffer_size )
132+ . max_publishers ( config . max_bots )
128133 . max_subscribers ( 1 )
129134 . user_header :: < CustomHeader > ( )
130135 . open_or_create ( )
@@ -134,9 +139,9 @@ impl IceoryxBuilder {
134139 . map_err ( |error| ChannelError :: BuildError ( error. to_string ( ) ) ) ?;
135140 node. service_builder ( & service_name)
136141 . publish_subscribe :: < [ u8 ] > ( )
137- . subscriber_max_buffer_size ( 100000 )
142+ . subscriber_max_buffer_size ( config . buffer_size )
138143 . max_publishers ( 1 )
139- . max_subscribers ( 500 )
144+ . max_subscribers ( config . max_bots )
140145 . user_header :: < CustomHeader > ( )
141146 . open_or_create ( )
142147 . map_err ( |error| ChannelError :: BuildError ( error. to_string ( ) ) ) ?
0 commit comments