11use std:: sync:: { Arc , Mutex } ;
22use std:: thread;
3- use std:: time:: { SystemTime , Duration } ; // Add SystemTime
3+ use std:: time:: { SystemTime , Duration } ;
44use std:: env;
5- use std:: io:: Write ; // Add Write for TcpStream operations
5+ use std:: io:: Write ;
66use crossbeam_channel as cbc;
77
88use driver_rust:: elevio;
99use driver_rust:: elevio:: elev as e;
10- use driver_rust:: elevio:: elev:: Elevator ;
1110use driver_rust:: network:: p2p_connect;
1211use driver_rust:: elevio:: fault_handler;
13- use driver_rust:: elevio:: cost:: ElevatorMessage ; // Add this import
12+ use driver_rust:: elevio:: cost:: ElevatorMessage ;
1413use driver_rust:: elevio:: system:: {
1514 ElevatorSystem ,
1615 start_reconnection_service,
@@ -83,8 +82,11 @@ fn main() -> std::io::Result<()> {
8382 // Try to connect to other potential elevators
8483 for i in 0 ..3 {
8584 if i != ( elev_port - 15657 ) as usize {
86- let peer_message_port = 8878 + i;
85+ let peer_message_port = 8878 ;
86+ //ip adresses are hardcoded for now
8787 let peer_addr = format ! ( "localhost:{}" , peer_message_port) ;
88+
89+ let peer_addr_2 = format ! ( "localhost:{}" , peer_message_port) ;
8890 let elevator_system_clone = Arc :: clone ( & elevator_system) ;
8991
9092 thread:: spawn ( move || {
@@ -95,12 +97,15 @@ fn main() -> std::io::Result<()> {
9597 Arc :: clone ( & elevator_system_clone. network_manager ) ,
9698 & peer_addr
9799 ) ;
98-
100+ p2p_connect:: connect (
101+ Arc :: clone ( & elevator_system_clone. network_manager ) ,
102+ & peer_addr_2
103+ ) ;
99104 // 2) Add the peer to our local ElevatorSystem list (so we know about it)
100105 elevator_system_clone. add_peer ( peer_addr. clone ( ) ) ;
106+ elevator_system_clone. add_peer ( peer_addr_2. clone ( ) ) ;
101107
102- // 3) Optionally send initial elevator state directly to that peer
103- // (If you still want to replicate the original handshake logic)
108+ // 3) Send our initial state to the peer
104109 match std:: net:: TcpStream :: connect ( & peer_addr) {
105110 Ok ( mut stream) => {
106111 println ! ( "Connection to {} successful, sending initial state." , peer_addr) ;
@@ -115,7 +120,7 @@ fn main() -> std::io::Result<()> {
115120 stream. write_all ( msg. to_string ( ) . as_bytes ( ) ) . unwrap_or ( ( ) ) ;
116121 } ,
117122 Err ( e) => {
118- // println!("Failed to connect directly to peer at {}: {}", &peer_addr, e);
123+ println ! ( "Failed to connect directly to peer at {}: {}" , & peer_addr, e) ;
119124 }
120125 }
121126
0 commit comments