@@ -19,8 +19,8 @@ use core::fmt::Write;
19
19
use cortex_m_semihosting:: hio;
20
20
21
21
use log:: { Level , LevelFilter , Metadata , Record } ;
22
- use smoltcp:: iface:: { EthernetInterfaceBuilder , NeighborCache } ;
23
- use smoltcp:: socket:: { SocketSet , TcpSocket , TcpSocketBuffer } ;
22
+ use smoltcp:: iface:: { InterfaceBuilder , NeighborCache } ;
23
+ use smoltcp:: socket:: { TcpSocket , TcpSocketBuffer } ;
24
24
use smoltcp:: time:: Instant ;
25
25
use smoltcp:: wire:: { EthernetAddress , IpAddress , IpCidr , Ipv4Address } ;
26
26
@@ -102,8 +102,10 @@ fn main() -> ! {
102
102
let mut neighbor_storage = [ None ; 16 ] ;
103
103
let neighbor_cache = NeighborCache :: new ( & mut neighbor_storage[ ..] ) ;
104
104
let ethernet_addr = EthernetAddress ( SRC_MAC ) ;
105
- let mut iface = EthernetInterfaceBuilder :: new ( & mut eth)
106
- . ethernet_addr ( ethernet_addr)
105
+
106
+ let mut sockets: [ _ ; 1 ] = Default :: default ( ) ;
107
+ let mut iface = InterfaceBuilder :: new ( & mut eth, & mut sockets[ ..] )
108
+ . hardware_addr ( ethernet_addr. into ( ) )
107
109
. ip_addrs ( & mut ip_addrs[ ..] )
108
110
. neighbor_cache ( neighbor_cache)
109
111
. finalize ( ) ;
@@ -114,9 +116,7 @@ fn main() -> ! {
114
116
TcpSocketBuffer :: new ( & mut server_rx_buffer[ ..] ) ,
115
117
TcpSocketBuffer :: new ( & mut server_tx_buffer[ ..] ) ,
116
118
) ;
117
- let mut sockets_storage = [ None , None ] ;
118
- let mut sockets = SocketSet :: new ( & mut sockets_storage[ ..] ) ;
119
- let server_handle = sockets. add ( server_socket) ;
119
+ let server_handle = iface. add_socket ( server_socket) ;
120
120
121
121
writeln ! ( stdout, "Ready, listening at {}" , ip_addr) . unwrap ( ) ;
122
122
loop {
@@ -125,9 +125,9 @@ fn main() -> ! {
125
125
let mut eth_pending = ETH_PENDING . borrow ( cs) . borrow_mut ( ) ;
126
126
* eth_pending = false ;
127
127
} ) ;
128
- match iface. poll ( & mut sockets , Instant :: from_millis ( time as i64 ) ) {
128
+ match iface. poll ( Instant :: from_millis ( time as i64 ) ) {
129
129
Ok ( true ) => {
130
- let mut socket = sockets . get :: < TcpSocket > ( server_handle) ;
130
+ let socket = iface . get_socket :: < TcpSocket > ( server_handle) ;
131
131
if !socket. is_open ( ) {
132
132
socket
133
133
. listen ( 80 )
0 commit comments