Skip to content

Commit 388137e

Browse files
authored
deps: migrate from bincode to postcard for serialization (#133)
1 parent 4368d60 commit 388137e

5 files changed

Lines changed: 233 additions & 50 deletions

File tree

Cargo.lock

Lines changed: 118 additions & 33 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ clap = { version = "4.6", features = ["derive", "unicode", "wrap_help"] }
3333

3434
serde = { version = "1.0", features = ["derive", "rc"] }
3535
serde_json = "1.0"
36-
bincode = { version = "2.0", features = ["serde"] }
36+
postcard = { version = "1.1", features = ["alloc"] }
3737
dirs = "6.0"
3838
tempfile = "3.27"
3939

src/infrastructure/daemon/client/transport.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,11 @@ pub(crate) const DAEMON_CONNECTION_TIMEOUT: Duration = Duration::from_secs(2);
1616
pub(crate) const DAEMON_RESPONSE_TIMEOUT: Duration = Duration::from_secs(30);
1717

1818
fn encode_request_frame(request: &OwnedRequest) -> Result<Vec<u8>> {
19-
bincode::serde::encode_to_vec(request, bincode::config::standard())
20-
.map_err(|e| anyhow!("Failed to serialize request: {e}"))
19+
postcard::to_allocvec(request).map_err(|e| anyhow!("Failed to serialize request: {e}"))
2120
}
2221

2322
fn decode_response_frame(frame: &[u8]) -> Result<OwnedResponse> {
24-
bincode::serde::decode_from_slice(frame, bincode::config::standard())
25-
.map(|(response, _)| response)
26-
.map_err(|e| anyhow!("Failed to deserialize response: {e}"))
23+
postcard::from_bytes(frame).map_err(|e| anyhow!("Failed to deserialize response: {e}"))
2724
}
2825

2926
fn current_uid() -> u32 {

src/infrastructure/daemon/server.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,11 @@ fn remove_socket_if_exists(socket_path: &Path) -> Result<()> {
6161
}
6262

6363
fn decode_request_frame(data: &[u8]) -> Result<DaemonRequest> {
64-
bincode::serde::decode_from_slice::<DaemonRequest, _>(data, bincode::config::standard())
65-
.map(|(request, _)| request)
66-
.map_err(Into::into)
64+
postcard::from_bytes(data).map_err(Into::into)
6765
}
6866

6967
fn encode_response_frame(response: &OwnedResponse) -> Result<Vec<u8>> {
70-
bincode::serde::encode_to_vec(response, bincode::config::standard()).map_err(Into::into)
68+
postcard::to_allocvec(response).map_err(Into::into)
7169
}
7270

7371
fn log_client_error(context: &str, error: &dyn std::fmt::Display) {

0 commit comments

Comments
 (0)