putAddrInBuf() -> sendAddrTo()
This commit is contained in:
parent
ccd2885c69
commit
0b9810aa62
@ -12,6 +12,8 @@ import java.util.Map;
|
||||
import java.util.Random;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.sun.xml.internal.bind.v2.runtime.unmarshaller.Receiver;
|
||||
|
||||
import util.BufferUtil;
|
||||
|
||||
public class Node {
|
||||
@ -94,7 +96,7 @@ public class Node {
|
||||
return channel.socket().getLocalSocketAddress();
|
||||
}
|
||||
|
||||
private void putAddrInBuf(ByteBuffer buf, SocketAddress addr) {
|
||||
private void sendAddrTo(SocketAddress receiver, SocketAddress addr) {
|
||||
buf.clear();
|
||||
InetSocketAddress a = (InetSocketAddress) addr;
|
||||
|
||||
@ -110,6 +112,11 @@ public class Node {
|
||||
// acks.get(ack_id).setBuf(BufferUtil.clone(buf));
|
||||
|
||||
buf.flip();
|
||||
try {
|
||||
channel.send(buf, receiver);
|
||||
} catch (IOException e) {
|
||||
// TODO
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -121,21 +128,15 @@ public class Node {
|
||||
|
||||
for (int i = 0; i < neighbors.size(); i++) {
|
||||
|
||||
try {
|
||||
if (neighbors.size() > 2) {
|
||||
int pred = ((i - 1) + neighbors.size()) % neighbors.size();
|
||||
int succ = (i + 1) % neighbors.size();
|
||||
if (neighbors.size() > 2) {
|
||||
int pred = ((i - 1) + neighbors.size()) % neighbors.size();
|
||||
int succ = (i + 1) % neighbors.size();
|
||||
|
||||
putAddrInBuf(buf, neighbors.get(succ));
|
||||
channel.send(buf, neighbors.get(i));
|
||||
putAddrInBuf(buf, neighbors.get(pred));
|
||||
channel.send(buf, neighbors.get(i));
|
||||
} else if (neighbors.size() == 2) {
|
||||
putAddrInBuf(buf, neighbors.get(Math.abs(i - 1)));
|
||||
channel.send(buf, neighbors.get(i));
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
sendAddrTo(neighbors.get(i), neighbors.get(succ));
|
||||
|
||||
sendAddrTo(neighbors.get(i), neighbors.get(pred));
|
||||
} else if (neighbors.size() == 2) {
|
||||
sendAddrTo(neighbors.get(i), neighbors.get(Math.abs(i - 1)));
|
||||
}
|
||||
|
||||
buf.clear();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user