@@ -2,7 +2,9 @@ use std::time::Duration;
2
2
3
3
use backoff:: { backoff:: Backoff , ExponentialBackoff } ;
4
4
use futures_util:: StreamExt ;
5
- use pyth_lazer_protocol:: api:: { SubscribeRequest , SubscriptionId , UnsubscribeRequest , WsRequest } ;
5
+ use pyth_lazer_protocol:: subscription:: {
6
+ Request , SubscribeRequest , SubscriptionId , UnsubscribeRequest ,
7
+ } ;
6
8
use tokio:: { pin, select, sync:: mpsc, time:: Instant } ;
7
9
use tracing:: { error, info, warn} ;
8
10
use url:: Url ;
@@ -16,7 +18,7 @@ use anyhow::{bail, Context, Result};
16
18
const BACKOFF_RESET_DURATION : Duration = Duration :: from_secs ( 10 ) ;
17
19
18
20
pub struct PythLazerResilientWSConnection {
19
- request_sender : mpsc:: Sender < WsRequest > ,
21
+ request_sender : mpsc:: Sender < Request > ,
20
22
}
21
23
22
24
impl PythLazerResilientWSConnection {
@@ -51,17 +53,15 @@ impl PythLazerResilientWSConnection {
51
53
52
54
pub async fn subscribe ( & mut self , request : SubscribeRequest ) -> Result < ( ) > {
53
55
self . request_sender
54
- . send ( WsRequest :: Subscribe ( request) )
56
+ . send ( Request :: Subscribe ( request) )
55
57
. await
56
58
. context ( "Failed to send subscribe request" ) ?;
57
59
Ok ( ( ) )
58
60
}
59
61
60
62
pub async fn unsubscribe ( & mut self , subscription_id : SubscriptionId ) -> Result < ( ) > {
61
63
self . request_sender
62
- . send ( WsRequest :: Unsubscribe ( UnsubscribeRequest {
63
- subscription_id,
64
- } ) )
64
+ . send ( Request :: Unsubscribe ( UnsubscribeRequest { subscription_id } ) )
65
65
. await
66
66
. context ( "Failed to send unsubscribe request" ) ?;
67
67
Ok ( ( ) )
@@ -95,7 +95,7 @@ impl PythLazerResilientWSConnectionTask {
95
95
pub async fn run (
96
96
& mut self ,
97
97
response_sender : mpsc:: Sender < AnyResponse > ,
98
- request_receiver : & mut mpsc:: Receiver < WsRequest > ,
98
+ request_receiver : & mut mpsc:: Receiver < Request > ,
99
99
) -> Result < ( ) > {
100
100
loop {
101
101
let start_time = Instant :: now ( ) ;
@@ -128,7 +128,7 @@ impl PythLazerResilientWSConnectionTask {
128
128
pub async fn start (
129
129
& mut self ,
130
130
sender : mpsc:: Sender < AnyResponse > ,
131
- request_receiver : & mut mpsc:: Receiver < WsRequest > ,
131
+ request_receiver : & mut mpsc:: Receiver < Request > ,
132
132
) -> Result < ( ) > {
133
133
let mut ws_connection =
134
134
PythLazerWSConnection :: new ( self . endpoint . clone ( ) , self . access_token . clone ( ) ) ?;
@@ -137,7 +137,7 @@ impl PythLazerResilientWSConnectionTask {
137
137
138
138
for subscription in self . subscriptions . clone ( ) {
139
139
ws_connection
140
- . send_request ( WsRequest :: Subscribe ( subscription) )
140
+ . send_request ( Request :: Subscribe ( subscription) )
141
141
. await ?;
142
142
}
143
143
loop {
@@ -167,10 +167,10 @@ impl PythLazerResilientWSConnectionTask {
167
167
}
168
168
Some ( request) = request_receiver. recv( ) => {
169
169
match request {
170
- WsRequest :: Subscribe ( request) => {
170
+ Request :: Subscribe ( request) => {
171
171
self . subscribe( & mut ws_connection, request) . await ?;
172
172
}
173
- WsRequest :: Unsubscribe ( request) => {
173
+ Request :: Unsubscribe ( request) => {
174
174
self . unsubscribe( & mut ws_connection, request) . await ?;
175
175
}
176
176
}
0 commit comments