Skip to content

Commit 6f06858

Browse files
committed
Swap read_event read type for a slice isntead of a Vec
It looks like we don't currently use the Vec as a Vec, and can happily take a slice, which makes things easier on the calling side.
1 parent 83c9eb4 commit 6f06858

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

fuzz/src/full_stack.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ pub fn do_test(data: &[u8], logger: &Arc<dyn Logger>) {
384384
3 => {
385385
let peer_id = get_slice!(1)[0];
386386
if !peers.borrow()[peer_id as usize] { return; }
387-
match loss_detector.handler.read_event(&mut Peer{id: peer_id, peers_connected: &peers}, get_slice!(get_slice!(1)[0]).to_vec()) {
387+
match loss_detector.handler.read_event(&mut Peer{id: peer_id, peers_connected: &peers}, get_slice!(get_slice!(1)[0])) {
388388
Ok(res) => assert!(!res),
389389
Err(_) => { peers.borrow_mut()[peer_id as usize] = false; }
390390
}

lightning-net-tokio/src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ impl Connection {
6262
//TODO: There's a race where we don't meet the requirements of socket_disconnected if its
6363
//called right here, after we release the us_ref lock in the scope above, but before we
6464
//call read_event!
65-
match peer_manager.read_event(&mut SocketDescriptor::new(us_ref.clone(), peer_manager.clone()), pending_read) {
65+
match peer_manager.read_event(&mut SocketDescriptor::new(us_ref.clone(), peer_manager.clone()), &pending_read) {
6666
Ok(pause_read) => {
6767
if pause_read {
6868
let mut lock = us_ref.lock().unwrap();
@@ -181,7 +181,7 @@ impl<CMH: ChannelMessageHandler> peer_handler::SocketDescriptor for SocketDescri
181181
}
182182
if !read_data.is_empty() {
183183
let mut us_clone = $us_ref.clone();
184-
match $us_ref.peer_manager.read_event(&mut us_clone, read_data) {
184+
match $us_ref.peer_manager.read_event(&mut us_clone, &read_data) {
185185
Ok(pause_read) => {
186186
if pause_read { return Ok(()); }
187187
},

lightning/src/ln/peer_handler.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref> PeerManager<Descriptor, CM> where
445445
/// on this file descriptor has resume_read set (preventing DoS issues in the send buffer).
446446
///
447447
/// Panics if the descriptor was not previously registered in a new_*_connection event.
448-
pub fn read_event(&self, peer_descriptor: &mut Descriptor, data: Vec<u8>) -> Result<bool, PeerHandleError> {
448+
pub fn read_event(&self, peer_descriptor: &mut Descriptor, data: &[u8]) -> Result<bool, PeerHandleError> {
449449
match self.do_read_event(peer_descriptor, data) {
450450
Ok(res) => Ok(res),
451451
Err(e) => {
@@ -455,7 +455,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref> PeerManager<Descriptor, CM> where
455455
}
456456
}
457457

458-
fn do_read_event(&self, peer_descriptor: &mut Descriptor, data: Vec<u8>) -> Result<bool, PeerHandleError> {
458+
fn do_read_event(&self, peer_descriptor: &mut Descriptor, data: &[u8]) -> Result<bool, PeerHandleError> {
459459
let pause_read = {
460460
let mut peers_lock = self.peers.lock().unwrap();
461461
let peers = &mut *peers_lock;
@@ -1228,9 +1228,9 @@ mod tests {
12281228
let mut fd_b = FileDescriptor { fd: 1, outbound_data: Arc::new(Mutex::new(Vec::new())) };
12291229
let initial_data = peer_b.new_outbound_connection(a_id, fd_b.clone()).unwrap();
12301230
peer_a.new_inbound_connection(fd_a.clone()).unwrap();
1231-
assert_eq!(peer_a.read_event(&mut fd_a, initial_data).unwrap(), false);
1232-
assert_eq!(peer_b.read_event(&mut fd_b, fd_a.outbound_data.lock().unwrap().split_off(0)).unwrap(), false);
1233-
assert_eq!(peer_a.read_event(&mut fd_a, fd_b.outbound_data.lock().unwrap().split_off(0)).unwrap(), false);
1231+
assert_eq!(peer_a.read_event(&mut fd_a, &initial_data).unwrap(), false);
1232+
assert_eq!(peer_b.read_event(&mut fd_b, &fd_a.outbound_data.lock().unwrap().split_off(0)).unwrap(), false);
1233+
assert_eq!(peer_a.read_event(&mut fd_a, &fd_b.outbound_data.lock().unwrap().split_off(0)).unwrap(), false);
12341234
}
12351235

12361236
#[test]

0 commit comments

Comments
 (0)