@@ -5,34 +5,17 @@ use tracing::debug;
55use crate :: message:: FixMessage ;
66use crate :: message:: parser:: Parser ;
77use crate :: session:: SessionRef ;
8+ use crate :: transport:: reader:: ReaderRef ;
89
9- #[ derive( Clone , Debug ) ]
10- #[ allow( dead_code) ]
11- pub struct ReaderMessage ;
10+ pub fn spawn_socket_reader (
11+ reader : ReadHalf < impl AsyncRead + Send + ' static > ,
12+ session_ref : SessionRef < impl FixMessage > ,
13+ ) -> ReaderRef {
14+ let ( dc_sender, dc_receiver) = oneshot:: channel ( ) ;
15+ let actor = ReaderActor :: new ( reader, session_ref, dc_sender) ;
16+ tokio:: spawn ( run_reader ( actor) ) ;
1217
13- pub struct ReaderRef {
14- disconnect_signal : oneshot:: Receiver < ( ) > ,
15- }
16-
17- impl ReaderRef {
18- pub fn new < M : FixMessage > (
19- reader : ReadHalf < impl AsyncRead + Send + ' static > ,
20- session_ref : SessionRef < M > ,
21- ) -> Self {
22- let ( dc_sender, dc_receiver) = oneshot:: channel ( ) ;
23- let actor = ReaderActor :: new ( reader, session_ref, dc_sender) ;
24- tokio:: spawn ( run_reader ( actor) ) ;
25-
26- Self {
27- disconnect_signal : dc_receiver,
28- }
29- }
30-
31- pub async fn wait_for_disconnect ( self ) {
32- self . disconnect_signal
33- . await
34- . expect ( "not to drop signal prematurely" ) ;
35- }
18+ ReaderRef :: new ( dc_receiver)
3619}
3720
3821struct ReaderActor < M , R > {
0 commit comments