@@ -9,7 +9,7 @@ use serde_json::{json, Value};
99use crate :: {
1010 logging:: { trace, warning} ,
1111 protocol:: Event ,
12- Error ,
12+ Error , SubscriptionId ,
1313} ;
1414
1515use super :: {
@@ -27,8 +27,8 @@ use super::{
2727pub struct ConnectionActor {
2828 client : async_channel:: Receiver < ConnectionCommand > ,
2929 connection : Box < dyn ObjectSafeConnection > ,
30- dropped_ids : async_channel:: Receiver < usize > ,
31- operations : HashMap < usize , async_channel:: Sender < Value > > ,
30+ dropped_ids : async_channel:: Receiver < SubscriptionId > ,
31+ operations : HashMap < SubscriptionId , async_channel:: Sender < Value > > ,
3232 keep_alive : KeepAliveSettings ,
3333 keep_alive_actor : stream:: Boxed < ConnectionCommand > ,
3434}
@@ -37,7 +37,7 @@ impl ConnectionActor {
3737 pub ( super ) fn new (
3838 connection : Box < dyn ObjectSafeConnection > ,
3939 client : async_channel:: Receiver < ConnectionCommand > ,
40- dropped_ids : async_channel:: Receiver < usize > ,
40+ dropped_ids : async_channel:: Receiver < SubscriptionId > ,
4141 keep_alive : KeepAliveSettings ,
4242 ) -> Self {
4343 ConnectionActor {
@@ -122,7 +122,7 @@ impl ConnectionActor {
122122
123123 match event {
124124 event @ ( Event :: Next { .. } | Event :: Error { .. } ) => {
125- let Some ( id) = event. id ( ) . unwrap ( ) . parse :: < usize > ( ) . ok ( ) else {
125+ let Some ( id) = event. id ( ) . and_then ( SubscriptionId :: from_str ) else {
126126 return Some ( Message :: close ( Reason :: UnknownSubscription ) ) ;
127127 } ;
128128
@@ -142,7 +142,7 @@ impl ConnectionActor {
142142 None
143143 }
144144 Event :: Complete { id } => {
145- let Some ( id) = id . parse :: < usize > ( ) . ok ( ) else {
145+ let Some ( id) = SubscriptionId :: from_str ( & id ) else {
146146 return Some ( Message :: close ( Reason :: UnknownSubscription ) ) ;
147147 } ;
148148
0 commit comments