@@ -27,7 +27,6 @@ use matter::data_model::core::DataModel;
27
27
use matter:: data_model:: device_types:: DEV_TYPE_ON_OFF_LIGHT ;
28
28
use matter:: data_model:: objects:: * ;
29
29
use matter:: data_model:: root_endpoint;
30
- use matter:: data_model:: sdm:: dev_att:: DevAttDataFetcher ;
31
30
use matter:: data_model:: system_model:: descriptor;
32
31
use matter:: error:: Error ;
33
32
use matter:: interaction_model:: core:: InteractionModel ;
@@ -36,7 +35,7 @@ use matter::persist;
36
35
use matter:: secure_channel:: spake2p:: VerifierData ;
37
36
use matter:: transport:: network:: { Address , IpAddr , Ipv4Addr , Ipv6Addr , SocketAddr } ;
38
37
use matter:: transport:: {
39
- mgr :: RecvAction , mgr :: TransportMgr , packet:: MAX_RX_BUF_SIZE , packet:: MAX_TX_BUF_SIZE ,
38
+ core :: RecvAction , core :: Transport , packet:: MAX_RX_BUF_SIZE , packet:: MAX_TX_BUF_SIZE ,
40
39
udp:: UdpListener ,
41
40
} ;
42
41
use matter:: utils:: select:: EitherUnwrap ;
@@ -66,7 +65,7 @@ fn run() -> Result<(), Error> {
66
65
info ! (
67
66
"Matter memory: mDNS={}, Transport={} (of which Matter={})" ,
68
67
core:: mem:: size_of:: <Mdns >( ) ,
69
- core:: mem:: size_of:: <TransportMgr >( ) ,
68
+ core:: mem:: size_of:: <Transport >( ) ,
70
69
core:: mem:: size_of:: <Matter >( ) ,
71
70
) ;
72
71
@@ -83,9 +82,11 @@ fn run() -> Result<(), Error> {
83
82
//let (mut mdns, mdns_runner) = (matter::mdns::astro::AstroMdns::new()?, core::future::pending::pending());
84
83
//let (mut mdns, mdns_runner) = (matter::mdns::DummyMdns {}, core::future::pending::pending());
85
84
85
+ let dev_att = dev_att:: HardCodedDevAtt :: new ( ) ;
86
+
86
87
let matter = Matter :: new_default (
87
88
// vid/pid should match those in the DAC
88
- & BasicInfoConfig {
89
+ BasicInfoConfig {
89
90
vid : 0xFFF1 ,
90
91
pid : 0x8000 ,
91
92
hw_ver : 2 ,
@@ -94,12 +95,11 @@ fn run() -> Result<(), Error> {
94
95
serial_no : "aabbccdd" ,
95
96
device_name : "OnOff Light" ,
96
97
} ,
98
+ & dev_att,
97
99
& mut mdns,
98
100
matter:: MATTER_PORT ,
99
101
) ;
100
102
101
- let dev_att = dev_att:: HardCodedDevAtt :: new ( ) ;
102
-
103
103
let psm_path = std:: env:: temp_dir ( ) . join ( "matter-iot" ) ;
104
104
info ! ( "Persisting from/to {}" , psm_path. display( ) ) ;
105
105
@@ -115,7 +115,9 @@ fn run() -> Result<(), Error> {
115
115
matter. load_fabrics ( data) ?;
116
116
}
117
117
118
- matter. start (
118
+ let mut transport = Transport :: new ( & matter) ;
119
+
120
+ transport. start (
119
121
CommissioningData {
120
122
// TODO: Hard-coded for now
121
123
verifier : VerifierData :: new_with_pw ( 123456 , * matter. borrow ( ) ) ,
@@ -125,10 +127,7 @@ fn run() -> Result<(), Error> {
125
127
) ?;
126
128
127
129
let matter = & matter;
128
- let dev_att = & dev_att;
129
130
let mdns_runner = & mut mdns_runner;
130
-
131
- let mut transport = TransportMgr :: new ( matter) ;
132
131
let transport = & mut transport;
133
132
134
133
let mut io_fut = pin ! ( async move {
@@ -165,7 +164,7 @@ fn run() -> Result<(), Error> {
165
164
] ,
166
165
} ;
167
166
168
- let mut handler = handler( matter, dev_att ) ;
167
+ let mut handler = handler( matter) ;
169
168
170
169
let mut im =
171
170
InteractionModel ( DataModel :: new( matter. borrow( ) , & node, & mut handler) ) ;
@@ -180,11 +179,11 @@ fn run() -> Result<(), Error> {
180
179
}
181
180
}
182
181
183
- if let Some ( data) = matter. store_fabrics( & mut buf) ? {
182
+ if let Some ( data) = transport . matter( ) . store_fabrics( & mut buf) ? {
184
183
psm. store( "fabrics" , data) ?;
185
184
}
186
185
187
- if let Some ( data) = matter. store_acls( & mut buf) ? {
186
+ if let Some ( data) = transport . matter( ) . store_acls( & mut buf) ? {
188
187
psm. store( "acls" , data) ?;
189
188
}
190
189
}
@@ -202,8 +201,8 @@ fn run() -> Result<(), Error> {
202
201
Ok :: < _ , matter:: error:: Error > ( ( ) )
203
202
}
204
203
205
- fn handler < ' a > ( matter : & ' a Matter < ' a > , dev_att : & ' a dyn DevAttDataFetcher ) -> impl Handler + ' a {
206
- root_endpoint:: handler ( 0 , dev_att , matter)
204
+ fn handler < ' a > ( matter : & ' a Matter < ' a > ) -> impl Handler + ' a {
205
+ root_endpoint:: handler ( 0 , matter)
207
206
. chain (
208
207
1 ,
209
208
descriptor:: ID ,
0 commit comments