@@ -102,7 +102,7 @@ mod errors;
102
102
pub use crate :: errors:: * ;
103
103
104
104
use crate :: ipc:: Ipc ;
105
- use crate :: ipc:: { BackendBuilder , BackendSender } ;
105
+ use crate :: ipc:: { BackendBroadcaster , BackendBuilder , BackendSender } ;
106
106
use crate :: lang:: { Bin , Reg , Scope } ;
107
107
use crate :: serialize:: Msg ;
108
108
@@ -239,7 +239,7 @@ where
239
239
instrs : bin,
240
240
} ;
241
241
let buf = serialize:: serialize ( & msg) ?;
242
- sender. send_msg ( & buf[ ..] ) ?;
242
+ sender. broadcast_msg ( & buf[ ..] ) ?;
243
243
Ok ( ( ) )
244
244
}
245
245
@@ -474,12 +474,12 @@ where
474
474
fn install_programs < I : Ipc + Sync > (
475
475
programs : & HashMap < & ' static str , String > ,
476
476
mut scope_map : & mut Rc < HashMap < String , Scope > > ,
477
- b : BackendSender < I > ,
477
+ b : & BackendBroadcaster < I > ,
478
478
) -> Result < ( ) > {
479
479
for ( program_name, program) in programs. iter ( ) {
480
480
match lang:: compile ( program. as_bytes ( ) , & [ ] ) {
481
481
Ok ( ( bin, sc) ) => {
482
- match send_and_install ( 0 , & b, bin, & sc) {
482
+ match send_and_install ( 0 , b, bin, & sc) {
483
483
Ok ( _) => { }
484
484
Err ( e) => {
485
485
return Err ( Error ( format ! (
@@ -539,7 +539,8 @@ where
539
539
let mut scope_map = Rc :: new ( HashMap :: < String , Scope > :: default ( ) ) ;
540
540
541
541
let programs = alg. datapath_programs ( ) ;
542
- match install_programs ( & programs, & mut scope_map, b. sender ( ) ) {
542
+ let broadcaster = b. broadcaster ( ) ;
543
+ match install_programs ( & programs, & mut scope_map, & broadcaster) {
543
544
Ok ( ( ) ) => { } // great, the datapath is ready, keep going!
544
545
Err ( _) => {
545
546
if let Some ( log) = cfg. logger . as_ref ( ) {
@@ -561,7 +562,7 @@ where
561
562
info ! ( log, "got message from datapath, installing programs..." ) ;
562
563
}
563
564
// got a msg from the datapath, it must be up, so let's try to install programs again
564
- install_programs ( & programs, & mut scope_map, b . sender ( ) ) . unwrap ( ) ;
565
+ install_programs ( & programs, & mut scope_map, & broadcaster ) . unwrap ( ) ;
565
566
}
566
567
}
567
568
if let Some ( log) = cfg. logger . as_ref ( ) {
0 commit comments