Skip to content

Commit 9dac143

Browse files
committed
remove uuid from session request, simplify bincode
1 parent 6f46fc2 commit 9dac143

File tree

3 files changed

+6
-72
lines changed

3 files changed

+6
-72
lines changed

duva/src/domains/caches/cache_objects/entry.rs

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
use anyhow::Context;
2-
use bincode::{
3-
BorrowDecode,
4-
error::{DecodeError, EncodeError},
5-
};
62
use chrono::{DateTime, Utc};
73
use std::time::Duration;
84

95
use crate::domains::caches::cache_objects::{CacheValue, TypedValue};
106

11-
#[derive(Debug, Clone, PartialEq, Eq)]
7+
#[derive(Debug, Clone, PartialEq, Eq, bincode::Encode, bincode::Decode)]
128
pub struct CacheEntry {
139
pub(crate) key: String,
1410
pub(crate) value: CacheValue,
@@ -69,32 +65,6 @@ impl CacheEntry {
6965
}
7066
}
7167

72-
impl bincode::Encode for CacheEntry {
73-
fn encode<E: bincode::enc::Encoder>(&self, encoder: &mut E) -> Result<(), EncodeError> {
74-
bincode::Encode::encode(&self.key, encoder)?;
75-
bincode::Encode::encode(&self.value, encoder)?;
76-
Ok(())
77-
}
78-
}
79-
80-
impl<Ctx> bincode::Decode<Ctx> for CacheEntry {
81-
fn decode<D: bincode::de::Decoder>(decoder: &mut D) -> Result<Self, DecodeError> {
82-
let key: String = bincode::Decode::decode(decoder)?;
83-
let value: CacheValue = bincode::Decode::decode(decoder)?;
84-
Ok(CacheEntry { key, value })
85-
}
86-
}
87-
88-
impl<'de, Ctx> BorrowDecode<'de, Ctx> for CacheEntry {
89-
fn borrow_decode<D: bincode::de::BorrowDecoder<'de>>(
90-
decoder: &mut D,
91-
) -> Result<Self, DecodeError> {
92-
let key: String = BorrowDecode::borrow_decode(decoder)?;
93-
let value: CacheValue = BorrowDecode::borrow_decode(decoder)?;
94-
Ok(CacheEntry { key, value })
95-
}
96-
}
97-
9868
#[cfg(test)]
9969
mod tests {
10070
use super::*;

duva/src/domains/cluster_actors/actor/client_sessions.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
use crate::{domains::cluster_actors::SessionRequest, make_smart_pointer};
22
use chrono::{DateTime, Utc};
33
use std::collections::HashMap;
4-
use uuid::Uuid;
54

65
#[derive(Default, Debug)]
7-
pub(crate) struct ClientSessions(HashMap<Uuid, Session>);
8-
make_smart_pointer!(ClientSessions,HashMap<Uuid, Session>);
6+
pub(crate) struct ClientSessions(HashMap<String, Session>);
7+
make_smart_pointer!(ClientSessions,HashMap<String, Session>);
98

109
#[derive(Default, Debug)]
1110
pub(crate) struct Session {

duva/src/domains/cluster_actors/command.rs

Lines changed: 3 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -127,48 +127,13 @@ impl FromStr for LazyOption {
127127
}
128128
}
129129

130-
#[derive(Debug, Clone, PartialEq, Eq)]
130+
#[derive(Debug, Clone, PartialEq, Eq, bincode::Encode, bincode::Decode)]
131131
pub struct SessionRequest {
132132
pub(crate) request_id: u64,
133-
pub(crate) client_id: Uuid,
133+
pub(crate) client_id: String,
134134
}
135135
impl SessionRequest {
136136
pub(crate) fn new(request_id: u64, client_id: Uuid) -> Self {
137-
Self { request_id, client_id }
138-
}
139-
}
140-
141-
impl bincode::Encode for SessionRequest {
142-
fn encode<E: bincode::enc::Encoder>(
143-
&self,
144-
encoder: &mut E,
145-
) -> core::result::Result<(), bincode::error::EncodeError> {
146-
self.request_id.encode(encoder)?;
147-
self.client_id.as_bytes().encode(encoder)?;
148-
Ok(())
149-
}
150-
}
151-
152-
impl<Context> bincode::Decode<Context> for SessionRequest {
153-
fn decode<D: bincode::de::Decoder>(
154-
decoder: &mut D,
155-
) -> core::result::Result<Self, bincode::error::DecodeError> {
156-
let request_id = u64::decode(decoder)?;
157-
let uuid_bytes: [u8; 16] = <[u8; 16]>::decode(decoder)?;
158-
let client_id = Uuid::from_bytes(uuid_bytes);
159-
160-
Ok(SessionRequest { request_id, client_id })
161-
}
162-
}
163-
164-
impl<'de, Context> bincode::BorrowDecode<'de, Context> for SessionRequest {
165-
fn borrow_decode<D: bincode::de::BorrowDecoder<'de>>(
166-
decoder: &mut D,
167-
) -> core::result::Result<Self, bincode::error::DecodeError> {
168-
let request_id = u64::borrow_decode(decoder)?;
169-
let uuid_bytes: [u8; 16] = <[u8; 16]>::borrow_decode(decoder)?;
170-
let client_id = Uuid::from_bytes(uuid_bytes);
171-
172-
Ok(SessionRequest { request_id, client_id })
137+
Self { request_id, client_id: client_id.to_string() }
173138
}
174139
}

0 commit comments

Comments
 (0)