Skip to content

Commit 77ec3b8

Browse files
authored
update rust deps (#1505)
# Description @swift-nav/algint-team <!-- Changes proposed in this PR --> # API compatibility Does this change introduce a API compatibility risk? <!-- Provide a short explanation why or why not --> ## API compatibility plan If the above is "Yes", please detail the compatibility (or migration) plan: <!-- Provide a short explanation plan here --> # JIRA Reference https://swift-nav.atlassian.net/browse/BOARD-XXXX
1 parent bf8aa7d commit 77ec3b8

File tree

6 files changed

+30
-32
lines changed

6 files changed

+30
-32
lines changed

Cargo.toml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
[workspace]
2-
members = [
3-
"rust/sbp",
4-
"rust/sbp2json"
5-
]
2+
resolver = "3"
3+
members = ["rust/sbp", "rust/sbp2json"]
64

75
[profile.release]
86
lto = true

rust/sbp/Cargo.toml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ authors = ["Swift Navigation <[email protected]>"]
1313
repository = "https://github.com/swift-nav/libsbp"
1414
license = "MIT"
1515
categories = ["parsing"]
16-
edition = "2018"
16+
edition = "2024"
1717
keywords = ["encoding", "parsing"]
1818
readme = "../../README.md"
1919

@@ -29,37 +29,37 @@ link = ["slotmap"]
2929
path = "src/lib.rs"
3030

3131
[dependencies]
32-
bytes = "1"
32+
bytes = "1.10.1"
3333
crc16 = "0.4"
34-
log = "0.4"
34+
log = "0.4.28"
3535

3636
[dependencies.swiftnav]
3737
version = "0.10"
3838
optional = true
3939

4040
[dependencies.slotmap]
41-
version = "1"
41+
version = "1.0.7"
4242
optional = true
4343

4444
[dependencies.serde]
45-
version = "1"
45+
version = "1.0.228"
4646
features = ["derive"]
4747
optional = true
4848

4949
[dependencies.serde_json]
50-
version = "1"
50+
version = "1.0.145"
5151
optional = true
5252

5353
[dependencies.serde-big-array]
54-
version = "0.4"
54+
version = "0.5.1"
5555
optional = true
5656

5757
[dependencies.base64]
58-
version = "0.13"
58+
version = "0.22.1"
5959
optional = true
6060

6161
[dependencies.futures]
62-
version = "0.3"
62+
version = "0.3.31"
6363
optional = true
6464

6565
[dependencies.dencode]

rust/sbp/src/json/de.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
use std::io;
22

3+
use base64::{Engine, prelude::BASE64_STANDARD};
34
use bytes::{Buf, BytesMut};
45
use dencode::{Decoder, FramedRead};
56
use serde::de::DeserializeOwned;
67
use serde_json::Deserializer;
78

89
use crate::{
10+
BUFLEN,
911
json::{Json2JsonInput, JsonError, JsonInput},
1012
messages::Sbp,
11-
BUFLEN,
1213
};
1314

1415
/// Deserialize the IO stream into an iterator of messages.
@@ -62,7 +63,9 @@ impl JsonDecoder {
6263
fn parse_json(&mut self, input: JsonInput) -> Result<Sbp, JsonError> {
6364
let data = input.into_inner()?;
6465
self.payload_buf.clear();
65-
base64::decode_config_buf(&data.payload, base64::STANDARD, &mut self.payload_buf)?;
66+
67+
BASE64_STANDARD.decode_vec(&data.payload, &mut self.payload_buf)?;
68+
6669
Sbp::from_parts(
6770
data.msg_type,
6871
data.sender,

rust/sbp/src/json/mod.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,19 @@ mod ser;
77
use std::collections::HashMap;
88
use std::io;
99

10+
use base64::{Engine, prelude::BASE64_STANDARD};
1011
use bytes::BytesMut;
1112
use serde::{Deserialize, Serialize};
12-
use serde_json::{ser::Formatter, Value};
13+
use serde_json::{Value, ser::Formatter};
1314

1415
pub use serde_json::ser::CompactFormatter;
1516

16-
use crate::{messages::invalid::Invalid, HandleParseError, Sbp};
17+
use crate::{HandleParseError, Sbp, messages::invalid::Invalid};
1718
#[cfg(feature = "async")]
1819
pub use de::stream_messages;
1920
pub use de::{iter_json2json_messages, iter_messages, iter_messages_from_fields};
2021

21-
pub use ser::{to_vec, to_writer, Json2JsonEncoder, JsonEncoder};
22+
pub use ser::{Json2JsonEncoder, JsonEncoder, to_vec, to_writer};
2223

2324
use crate::SbpMessage;
2425
pub use convert::JsonMap;
@@ -196,7 +197,8 @@ impl HandleParseError<Sbp> for JsonError {
196197
Self::InvalidMsg(InvalidMsgInput { payload }) => {
197198
// todo remove allocation here
198199
let mut invalid_frame = Vec::<u8>::new();
199-
base64::decode_config_buf(&payload, base64::STANDARD, &mut invalid_frame)
200+
BASE64_STANDARD
201+
.decode_vec(&payload, &mut invalid_frame)
200202
.expect("unable to recover from base64 error");
201203
Invalid {
202204
msg_id: None,

rust/sbp/src/json/ser.rs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
use std::{borrow::Borrow, convert::TryInto, io};
22

3+
use base64::{Engine, prelude::BASE64_STANDARD};
34
use bytes::{BufMut, BytesMut};
45
use dencode::{Encoder, FramedWrite, IterSinkExt};
56
use serde::Serialize;
6-
use serde_json::{ser::Formatter, Serializer};
7+
use serde_json::{Serializer, ser::Formatter};
78

89
use crate::{
10+
BUFLEN, CRC_LEN, HEADER_LEN, MIN_FRAME_LEN, PREAMBLE, SbpMessage,
911
json::{
1012
CommonJson, HaskellishFloatFormatter, Json2JsonInput, Json2JsonOutput, JsonError,
1113
JsonOutput,
1214
},
1315
messages::Sbp,
14-
SbpMessage, BUFLEN, CRC_LEN, HEADER_LEN, MIN_FRAME_LEN, PREAMBLE,
1516
};
1617

1718
const BASE64_BUFLEN: usize = BUFLEN * 4;
@@ -190,7 +191,7 @@ impl<F: Formatter + Clone> Encoder<Json2JsonInput> for Json2JsonEncoderInner<F>
190191

191192
fn encode(&mut self, input: Json2JsonInput, dst: &mut BytesMut) -> Result<(), Self::Error> {
192193
let formatter = self.formatter.clone();
193-
let payload = base64::decode(input.data.payload)?;
194+
let payload = BASE64_STANDARD.decode(input.data.payload)?;
194195
let msg = Sbp::from_parts(
195196
input.data.msg_type,
196197
input.data.sender,
@@ -219,7 +220,7 @@ pub(super) fn get_common_fields<'a, M: SbpMessage>(
219220
if let Err(crate::messages::invalid::Invalid { invalid_frame, .. }) =
220221
(*msg).clone().into_valid_msg()
221222
{
222-
base64::encode_config_buf(&invalid_frame, base64::STANDARD, payload_buf);
223+
BASE64_STANDARD.encode_string(&invalid_frame, payload_buf);
223224
return Ok(Some(CommonJson {
224225
preamble: None,
225226
sender: None,
@@ -243,11 +244,8 @@ pub(super) fn get_common_fields<'a, M: SbpMessage>(
243244
.map(u16::from_le_bytes);
244245

245246
// won't panic because MIN_FRAME_LEN > HEADER_LEN
246-
base64::encode_config_buf(
247-
&frame_buf[HEADER_LEN..HEADER_LEN + size],
248-
base64::STANDARD,
249-
payload_buf,
250-
);
247+
BASE64_STANDARD.encode_string(&frame_buf[HEADER_LEN..HEADER_LEN + size], payload_buf);
248+
251249
Ok(Some(CommonJson {
252250
preamble: Some(PREAMBLE),
253251
sender: Some(msg.sender_id().unwrap_or_default()),

rust/sbp2json/Cargo.toml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ categories = ["parsing"]
1818
keywords = ["encoding", "parsing"]
1919

2020
[dependencies.sbp]
21-
path = "../sbp" # TODO: replace with published `sbp` crate version
21+
path = "../sbp" # TODO: replace with published `sbp` crate version
2222
features = ["json", "float_roundtrip"]
2323

2424
[dependencies]
@@ -44,9 +44,6 @@ predicates-core = "=1.0.3"
4444
serde_json = "1.0.82"
4545
assert-json-diff = "2.0"
4646

47-
[profile.release]
48-
lto = true
49-
codegen-units = 1
5047

5148
[lib]
5249
name = "converters"

0 commit comments

Comments
 (0)