@@ -8,9 +8,7 @@ use timely_bytes::arc::Bytes;
88
99use crate :: allocator:: canary:: Canary ;
1010use crate :: networking:: MessageHeader ;
11-
12- use crate :: { Data , Push , Pull } ;
13- use crate :: allocator:: Message ;
11+ use crate :: { Bytesable , Push , Pull } ;
1412
1513use super :: bytes_exchange:: { BytesPush , SendEndpoint } ;
1614
@@ -35,9 +33,9 @@ impl<T, P: BytesPush> Pusher<T, P> {
3533 }
3634}
3735
38- impl < T : Data , P : BytesPush > Push < Message < T > > for Pusher < T , P > {
36+ impl < T : Bytesable , P : BytesPush > Push < T > for Pusher < T , P > {
3937 #[ inline]
40- fn push ( & mut self , element : & mut Option < Message < T > > ) {
38+ fn push ( & mut self , element : & mut Option < T > ) {
4139 if let Some ( ref mut element) = * element {
4240
4341 // determine byte lengths and build header.
@@ -68,11 +66,11 @@ impl<T:Data, P: BytesPush> Push<Message<T>> for Pusher<T, P> {
6866/// allocation.
6967pub struct Puller < T > {
7068 _canary : Canary ,
71- current : Option < Message < T > > ,
69+ current : Option < T > ,
7270 receiver : Rc < RefCell < VecDeque < Bytes > > > , // source of serialized buffers
7371}
7472
75- impl < T : Data > Puller < T > {
73+ impl < T : Bytesable > Puller < T > {
7674 /// Creates a new `Puller` instance from a shared queue.
7775 pub fn new ( receiver : Rc < RefCell < VecDeque < Bytes > > > , _canary : Canary ) -> Puller < T > {
7876 Puller {
@@ -83,14 +81,14 @@ impl<T:Data> Puller<T> {
8381 }
8482}
8583
86- impl < T : Data > Pull < Message < T > > for Puller < T > {
84+ impl < T : Bytesable > Pull < T > for Puller < T > {
8785 #[ inline]
88- fn pull ( & mut self ) -> & mut Option < Message < T > > {
86+ fn pull ( & mut self ) -> & mut Option < T > {
8987 self . current =
9088 self . receiver
9189 . borrow_mut ( )
9290 . pop_front ( )
93- . map ( Message :: from_bytes) ;
91+ . map ( T :: from_bytes) ;
9492
9593 & mut self . current
9694 }
@@ -103,15 +101,15 @@ impl<T:Data> Pull<Message<T>> for Puller<T> {
103101/// like the `bytes` crate (../bytes/) which provides an exclusive view of a shared
104102/// allocation.
105103pub struct PullerInner < T > {
106- inner : Box < dyn Pull < Message < T > > > , // inner pullable (e.g. intra-process typed queue)
104+ inner : Box < dyn Pull < T > > , // inner pullable (e.g. intra-process typed queue)
107105 _canary : Canary ,
108- current : Option < Message < T > > ,
106+ current : Option < T > ,
109107 receiver : Rc < RefCell < VecDeque < Bytes > > > , // source of serialized buffers
110108}
111109
112- impl < T : Data > PullerInner < T > {
110+ impl < T : Bytesable > PullerInner < T > {
113111 /// Creates a new `PullerInner` instance from a shared queue.
114- pub fn new ( inner : Box < dyn Pull < Message < T > > > , receiver : Rc < RefCell < VecDeque < Bytes > > > , _canary : Canary ) -> Self {
112+ pub fn new ( inner : Box < dyn Pull < T > > , receiver : Rc < RefCell < VecDeque < Bytes > > > , _canary : Canary ) -> Self {
115113 PullerInner {
116114 inner,
117115 _canary,
@@ -121,9 +119,9 @@ impl<T:Data> PullerInner<T> {
121119 }
122120}
123121
124- impl < T : Data > Pull < Message < T > > for PullerInner < T > {
122+ impl < T : Bytesable > Pull < T > for PullerInner < T > {
125123 #[ inline]
126- fn pull ( & mut self ) -> & mut Option < Message < T > > {
124+ fn pull ( & mut self ) -> & mut Option < T > {
127125
128126 let inner = self . inner . pull ( ) ;
129127 if inner. is_some ( ) {
@@ -134,7 +132,7 @@ impl<T:Data> Pull<Message<T>> for PullerInner<T> {
134132 self . receiver
135133 . borrow_mut ( )
136134 . pop_front ( )
137- . map ( Message :: from_bytes) ;
135+ . map ( T :: from_bytes) ;
138136
139137 & mut self . current
140138 }
0 commit comments