Skip to content

Commit 2c5757d

Browse files
committed
Bump embassy dependencies to newly released versions
1 parent 7e7eab8 commit 2c5757d

File tree

2 files changed

+22
-44
lines changed

2 files changed

+22
-44
lines changed

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ minicbor-serde = { version = "0.3.2", optional = true }
3333
serde-json-core = { version = "0.6" }
3434
shadow-derive = { path = "shadow_derive", version = "0.2.1" }
3535
embedded-storage-async = "0.4"
36-
embedded-mqtt = { git = "ssh://git@github.com/FactbirdHQ/embedded-mqtt", rev = "74eb53d" }
36+
embedded-mqtt = { git = "ssh://git@github.com/FactbirdHQ/embedded-mqtt", rev = "dc7c390" }
3737

3838
futures = { version = "0.3.28", default-features = false }
3939

40-
embassy-time = { version = "0.3" }
40+
embassy-time = { version = "0.4" }
4141
embassy-sync = "0.6"
4242
embassy-futures = "0.1"
4343

@@ -62,7 +62,7 @@ tokio = { version = "1.33", default-features = false, features = [
6262
] }
6363
tokio-native-tls = { version = "0.3.1" }
6464
embassy-futures = { version = "0.1.0" }
65-
embassy-time = { version = "0.3", features = ["log", "std", "generic-queue"] }
65+
embassy-time = { version = "0.4", features = ["log", "std", "generic-queue"] }
6666
embedded-io-adapters = { version = "0.6.0", features = ["tokio-1"] }
6767

6868
ecdsa = { version = "0.16", features = ["pkcs8", "pem"] }

src/provisioning/mod.rs

Lines changed: 19 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -136,8 +136,6 @@ impl FleetProvisioner {
136136
where
137137
C: DeserializeOwned,
138138
{
139-
use embedded_mqtt::SliceBufferProvider;
140-
141139
let mut create_subscription = Self::begin(mqtt, csr, payload_format).await?;
142140
let mut message = create_subscription
143141
.next()
@@ -146,11 +144,8 @@ impl FleetProvisioner {
146144

147145
let ownership_token = match Topic::from_str(message.topic_name()) {
148146
Some(Topic::CreateKeysAndCertificateAccepted(format)) => {
149-
let response = Self::deserialize::<
150-
CreateKeysAndCertificateResponse,
151-
M,
152-
SliceBufferProvider<'a>,
153-
>(format, &mut message)?;
147+
let response =
148+
Self::deserialize::<CreateKeysAndCertificateResponse>(format, &mut message)?;
154149

155150
credential_handler
156151
.store_credentials(Credentials {
@@ -164,11 +159,10 @@ impl FleetProvisioner {
164159
}
165160

166161
Some(Topic::CreateCertificateFromCsrAccepted(format)) => {
167-
let response = Self::deserialize::<
168-
CreateCertificateFromCsrResponse,
169-
M,
170-
SliceBufferProvider<'a>,
171-
>(format, &mut message)?;
162+
let response = Self::deserialize::<CreateCertificateFromCsrResponse>(
163+
format,
164+
message.payload_mut(),
165+
)?;
172166

173167
credential_handler
174168
.store_credentials(Credentials {
@@ -186,7 +180,7 @@ impl FleetProvisioner {
186180
Topic::CreateKeysAndCertificateRejected(format)
187181
| Topic::CreateCertificateFromCsrRejected(format),
188182
) => {
189-
return Err(Self::handle_error(format, message).unwrap_err());
183+
return Err(Self::handle_error(format, message.payload_mut()).unwrap_err());
190184
}
191185

192186
t => {
@@ -259,18 +253,17 @@ impl FleetProvisioner {
259253

260254
match Topic::from_str(message.topic_name()) {
261255
Some(Topic::RegisterThingAccepted(_, format)) => {
262-
let response = Self::deserialize::<
263-
RegisterThingResponse<'_, C>,
264-
M,
265-
SliceBufferProvider<'a>,
266-
>(format, &mut message)?;
256+
let response = Self::deserialize::<RegisterThingResponse<'_, C>>(
257+
format,
258+
message.payload_mut(),
259+
)?;
267260

268261
Ok(response.device_configuration)
269262
}
270263

271264
// Error happened!
272265
Some(Topic::RegisterThingRejected(_, format)) => {
273-
Err(Self::handle_error(format, message).unwrap_err())
266+
Err(Self::handle_error(format, message.payload_mut()).unwrap_err())
274267
}
275268

276269
t => {
@@ -387,37 +380,22 @@ impl FleetProvisioner {
387380
}
388381
}
389382

390-
fn deserialize<'a, R: Deserialize<'a>, M: RawMutex, B: BufferProvider>(
383+
fn deserialize<'a, R: Deserialize<'a>>(
391384
payload_format: PayloadFormat,
392-
message: &'a mut Message<'_, M, B>,
385+
payload: &'a mut [u8],
393386
) -> Result<R, Error> {
394-
trace!(
395-
"Accepted Topic {:?}. Payload len: {:?}",
396-
payload_format,
397-
message.payload().len()
398-
);
399-
400387
Ok(match payload_format {
401388
#[cfg(feature = "provision_cbor")]
402-
PayloadFormat::Cbor => minicbor_serde::from_slice::<R>(message.payload_mut())?,
403-
PayloadFormat::Json => serde_json_core::from_slice::<R>(message.payload())?.0,
389+
PayloadFormat::Cbor => minicbor_serde::from_slice::<R>(payload)?,
390+
PayloadFormat::Json => serde_json_core::from_slice::<R>(payload)?.0,
404391
})
405392
}
406393

407-
fn handle_error<M: RawMutex, B: BufferProvider>(
408-
format: PayloadFormat,
409-
mut message: Message<'_, M, B>,
410-
) -> Result<(), Error> {
411-
error!(">> {:?}", message.topic_name());
412-
394+
fn handle_error(format: PayloadFormat, payload: &mut [u8]) -> Result<(), Error> {
413395
let response = match format {
414396
#[cfg(feature = "provision_cbor")]
415-
PayloadFormat::Cbor => {
416-
minicbor_serde::from_slice::<ErrorResponse>(message.payload_mut())?
417-
}
418-
PayloadFormat::Json => {
419-
serde_json_core::from_slice::<ErrorResponse>(message.payload())?.0
420-
}
397+
PayloadFormat::Cbor => minicbor_serde::from_slice::<ErrorResponse>(payload)?,
398+
PayloadFormat::Json => serde_json_core::from_slice::<ErrorResponse>(payload)?.0,
421399
};
422400

423401
error!("{:?}", response);

0 commit comments

Comments
 (0)