@@ -31,20 +31,6 @@ fn construct_socket_desc (
31
31
socket
32
32
}
33
33
34
- fn read_event (
35
- index : usize ,
36
- send_data_ptr : Ref < socket_descriptor_fn:: SendData > ,
37
- disconnect_socket_ptr : Ref < socket_descriptor_fn:: DisconnectSocket > ,
38
- data_ptr : Ref < FFIBytes > ,
39
- handle : FFIArcPeerManagerHandle
40
- ) -> FFIResult {
41
- let mut socket = construct_socket_desc ( index, send_data_ptr, disconnect_socket_ptr) ;
42
- let peer_man: & FFISimpleArcPeerManager = unsafe_block ! ( "We know handle points to valid PeerManager" => handle. as_ref( ) ) ;
43
- let data = unsafe_block ! ( "We know it points to valid data" => data_ptr. as_ref( ) ) ;
44
- peer_man. read_event ( & mut socket, data. as_ref ( ) ) ;
45
- FFIResult :: ok ( )
46
- }
47
-
48
34
ffi ! {
49
35
fn create_peer_manager(
50
36
seed_ptr: Ref <u8 >,
@@ -171,6 +157,26 @@ ffi! {
171
157
FFIResult :: ok( )
172
158
}
173
159
160
+ fn read_event(
161
+ index: usize ,
162
+ send_data_ptr: Ref <socket_descriptor_fn:: SendData >,
163
+ disconnect_socket_ptr: Ref <socket_descriptor_fn:: DisconnectSocket >,
164
+ data_ref: Ref <FFIBytes >,
165
+ handle: FFIArcPeerManagerHandle
166
+ ) -> FFIResult {
167
+ let mut socket = construct_socket_desc( index, send_data_ptr, disconnect_socket_ptr) ;
168
+ let peer_man: & FFISimpleArcPeerManager = unsafe_block!( "We know handle points to valid PeerManager" => handle. as_ref( ) ) ;
169
+ let data = unsafe_block!( "data lives as long as this function and it points to valid value" => data_ref. as_ref( ) ) ;
170
+ peer_man. read_event( & mut socket, data. as_ref( ) ) ?;
171
+ FFIResult :: ok( )
172
+ }
173
+
174
+ fn process_events( handle: FFIArcPeerManagerHandle ) -> FFIResult {
175
+ let peer_man: & FFISimpleArcPeerManager = unsafe_block!( "We know handle points to valid PeerManager" => handle. as_ref( ) ) ;
176
+ peer_man. process_events( ) ;
177
+ FFIResult :: ok( )
178
+ }
179
+
174
180
fn release_peer_manager( handle: FFIArcPeerManagerHandle ) -> FFIResult {
175
181
unsafe_block!( "The upstream caller guarantees the handle will not be accessed after being freed" => FFIArcPeerManagerHandle :: dealloc( handle, |mut handle| {
176
182
FFIResult :: ok( )
0 commit comments