File tree Expand file tree Collapse file tree 2 files changed +8
-20
lines changed Expand file tree Collapse file tree 2 files changed +8
-20
lines changed Original file line number Diff line number Diff line change 1
1
use rosrust;
2
- use rosrust :: Message ;
2
+ use std :: sync :: Arc ;
3
3
4
- pub struct Controller < T > {
5
- subscriber : subscriber < T > ,
6
- publisher : publisher < T > ,
4
+ pub struct Controller {
5
+ subscriber : Arc < rosrust:: Subscriber > ,
7
6
}
8
7
9
8
10
- impl < T > Controller < T > where T : Message {
9
+ impl Controller {
11
10
12
- pub fn new ( ) -> Controller < T > {
11
+ pub fn new ( ) -> Controller {
13
12
14
- let publisher = rosrust:: publish ( "rust_to_cpp" , 0 ) . unwrap ( ) ;
15
- let subscriber = rosrust:: subscribe ( "python_to_rust" , 1 , move |v : rosrust_msg:: std_msgs:: Header | {
16
- rosrust:: ros_info!( "Received: {}" , v. seq) ;
13
+ let publisher = Arc :: new ( rosrust:: publish ( "rust_to_cpp" , 0 ) . unwrap ( ) ) ;
14
+ let subscriber = Arc :: new ( rosrust:: subscribe ( "python_to_rust" , 1 , move |v : rosrust_msg:: std_msgs:: Header | {
17
15
publisher. send ( v) . unwrap ( ) ;
18
- } ) ;
16
+ } ) . unwrap ( ) ) ;
19
17
20
18
Controller {
21
19
subscriber,
22
- publisher
23
20
}
24
21
}
25
22
}
Original file line number Diff line number Diff line change @@ -5,16 +5,7 @@ fn main() {
5
5
6
6
rosrust:: init ( "rust_node" ) ;
7
7
8
- let publisher = rosrust:: publish ( "rust_to_cpp" , 0 ) . unwrap ( ) ;
9
- let subscriber_info = rosrust:: subscribe ( "python_to_rust" , 1 , move |v : rosrust_msg:: std_msgs:: Header | {
10
- rosrust:: ros_info!( "Received: {}" , v. seq) ;
11
- publisher. send ( v) . unwrap ( ) ;
12
- } )
13
- . unwrap ( ) ;
14
-
15
8
let controller = rust_node:: Controller :: new ( ) ;
16
9
17
- let a = publisher;
18
-
19
10
rosrust:: spin ( ) ;
20
11
}
You can’t perform that action at this time.
0 commit comments