File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed
src/main/java/org/ldk/batteries Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -61,13 +61,14 @@ private Peer setup_socket(SocketChannel chan) throws IOException {
6161 @ Override
6262 public long send_data (byte [] data , boolean resume_read ) {
6363 try {
64- if (resume_read ) {
65- do_selector_action (() -> peer .key .interestOps (peer .key .interestOps () | SelectionKey .OP_READ ));
66- }
6764 long written = chan .write (ByteBuffer .wrap (data ));
6865 if (written != data .length ) {
69- do_selector_action (() -> peer .key .interestOps (peer .key .interestOps () | SelectionKey .OP_WRITE ));
70- }
66+ do_selector_action (() -> peer .key .interestOps (
67+ (peer .key .interestOps () | SelectionKey .OP_WRITE ) & (~SelectionKey .OP_READ )));
68+ } else if (resume_read ) {
69+ do_selector_action (() -> peer .key .interestOps (
70+ (peer .key .interestOps () | SelectionKey .OP_READ ) & (~SelectionKey .OP_WRITE )));
71+ }
7172 return written ;
7273 } catch (IOException e ) {
7374 // Most likely the socket is disconnected, let the background thread handle it.
You can’t perform that action at this time.
0 commit comments