@@ -6,8 +6,6 @@ const RECONNECT_POLL_TIME: Duration = Duration::from_secs(3);
66pub struct Switch {
77 daemon_client : Arc < Mutex < Option < Channel > > > ,
88 switch : gtk:: Switch ,
9- switch_screen : gtk:: Box ,
10- disconnected_banner : adw:: Banner ,
119
1210 _tunnel_state_worker : WorkerController < AsyncTunnelStateHandler > ,
1311}
@@ -19,8 +17,6 @@ pub struct SwitchInit {
1917#[ derive( Debug , PartialEq , Eq ) ]
2018pub enum SwitchMsg {
2119 None ,
22- DaemonReconnect ,
23- DaemonDisconnect ,
2420 Start ,
2521 Stop ,
2622 SwitchSetStart ,
@@ -51,7 +47,6 @@ impl AsyncComponent for Switch {
5147 } ,
5248 } ,
5349
54- #[ name( switch_screen) ]
5550 gtk:: Box {
5651 set_orientation: gtk:: Orientation :: Vertical ,
5752 set_spacing: 10 ,
@@ -80,37 +75,12 @@ impl AsyncComponent for Switch {
8075 root : Self :: Root ,
8176 sender : AsyncComponentSender < Self > ,
8277 ) -> AsyncComponentParts < Self > {
83- let mut initial_daemon_server_down = false ;
84-
85- if let Some ( daemon_client) = init. daemon_client . lock ( ) . await . as_mut ( ) {
86- let mut client = tunnel_client:: TunnelClient :: new ( daemon_client) ;
87- if client
88- . tunnel_status ( burrow_rpc:: Empty { } )
89- . await
90- . as_mut ( )
91- . is_err ( )
92- {
93- initial_daemon_server_down = true ;
94- }
95- } else {
96- initial_daemon_server_down = true ;
97- }
98-
9978 let switch_sender = sender. clone ( ) ;
10079 let widgets = view_output ! ( ) ;
10180
102- if initial_daemon_server_down {
103- * init. daemon_client . lock ( ) . await = None ;
104- widgets. switch . set_active ( false ) ;
105- widgets. switch_screen . set_sensitive ( false ) ;
106- widgets. setup_banner . set_revealed ( true ) ;
107- }
108-
10981 let model = Switch {
11082 daemon_client : init. daemon_client ,
11183 switch : widgets. switch . clone ( ) ,
112- switch_screen : widgets. switch_screen . clone ( ) ,
113- disconnected_banner : widgets. setup_banner . clone ( ) ,
11484 _tunnel_state_worker : AsyncTunnelStateHandler :: builder ( )
11585 . detach_worker ( ( ) )
11686 . forward ( sender. input_sender ( ) , |_| SwitchMsg :: None ) ,
@@ -127,20 +97,16 @@ impl AsyncComponent for Switch {
12797 _: AsyncComponentSender < Self > ,
12898 _root : & Self :: Root ,
12999 ) {
130- let mut disconnected_daemon_client = false ;
131-
132100 if let Some ( daemon_client) = self . daemon_client . lock ( ) . await . as_mut ( ) {
133101 let mut client = tunnel_client:: TunnelClient :: new ( daemon_client) ;
134102 match msg {
135103 Self :: Input :: Start => {
136- if let Err ( _e) = client. tunnel_start ( burrow_rpc:: Empty { } ) . await {
137- disconnected_daemon_client = true ;
138- }
104+ // TODO: Figure out best way for error handling.
105+ let _ = client. tunnel_start ( burrow_rpc:: Empty { } ) . await ;
139106 }
140107 Self :: Input :: Stop => {
141- if let Err ( _e) = client. tunnel_stop ( burrow_rpc:: Empty { } ) . await {
142- disconnected_daemon_client = true ;
143- }
108+ // TODO: Figure out best way for error handling.
109+ let _ = client. tunnel_stop ( burrow_rpc:: Empty { } ) . await ;
144110 }
145111 Self :: Input :: SwitchSetStart => {
146112 self . switch . set_active ( true ) ;
@@ -150,19 +116,6 @@ impl AsyncComponent for Switch {
150116 }
151117 _ => { }
152118 }
153- } else {
154- disconnected_daemon_client = true ;
155- }
156-
157- if msg == Self :: Input :: DaemonReconnect {
158- self . disconnected_banner . set_revealed ( false ) ;
159- self . switch_screen . set_sensitive ( true ) ;
160- }
161-
162- if disconnected_daemon_client || msg == Self :: Input :: DaemonDisconnect {
163- * self . daemon_client . lock ( ) . await = None ;
164- self . switch_screen . set_sensitive ( false ) ;
165- self . disconnected_banner . set_revealed ( true ) ;
166119 }
167120 }
168121}
@@ -174,7 +127,8 @@ impl Worker for AsyncTunnelStateHandler {
174127 type Input = ( ) ;
175128 type Output = SwitchMsg ;
176129
177- fn init ( _: Self :: Init , _sender : ComponentSender < Self > ) -> Self {
130+ fn init ( _: Self :: Init , sender : ComponentSender < Self > ) -> Self {
131+ sender. input ( ( ) ) ;
178132 Self
179133 }
180134
0 commit comments