Introduce onHandShakePeer() callback will expose HelloMessage

This commit is contained in:
Roman Mandeleil 2015-01-16 10:39:46 +02:00
parent c7638c2617
commit d097a56644
7 changed files with 19 additions and 10 deletions

View File

@ -3,6 +3,7 @@ package org.ethereum.listener;
import org.ethereum.core.Block; import org.ethereum.core.Block;
import org.ethereum.core.Transaction; import org.ethereum.core.Transaction;
import org.ethereum.net.message.Message; import org.ethereum.net.message.Message;
import org.ethereum.net.p2p.HelloMessage;
import java.util.Set; import java.util.Set;
@ -28,6 +29,6 @@ public interface EthereumListener {
public void onNoConnections(); public void onNoConnections();
public void onHandShakePeer(); public void onHandShakePeer(HelloMessage helloMessage);
} }

View File

@ -3,6 +3,7 @@ package org.ethereum.listener;
import org.ethereum.core.Block; import org.ethereum.core.Block;
import org.ethereum.core.Transaction; import org.ethereum.core.Transaction;
import org.ethereum.net.message.Message; import org.ethereum.net.message.Message;
import org.ethereum.net.p2p.HelloMessage;
import java.util.Set; import java.util.Set;
@ -42,7 +43,7 @@ public class EthereumListenerAdapter implements EthereumListener {
} }
@Override @Override
public void onHandShakePeer() { public void onHandShakePeer(HelloMessage helloMessage) {
} }

View File

@ -4,6 +4,7 @@ import org.ethereum.core.Block;
import org.ethereum.core.Transaction; import org.ethereum.core.Transaction;
import org.ethereum.net.message.Message; import org.ethereum.net.message.Message;
import org.ethereum.net.p2p.HelloMessage;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Set; import java.util.Set;
@ -69,9 +70,9 @@ public class EthereumListenerWrapper implements EthereumListener {
} }
@Override @Override
public void onHandShakePeer() { public void onHandShakePeer(HelloMessage helloMessage) {
if (listener != null) if (listener != null)
listener.onHandShakePeer(); listener.onHandShakePeer(helloMessage);
} }
public void addListener(EthereumListener listener) { public void addListener(EthereumListener listener) {

View File

@ -243,7 +243,7 @@ public class P2pHandler extends SimpleChannelInboundHandler<P2pMessage> {
//todo calculate the Offsets //todo calculate the Offsets
worldManager.getPeerDiscovery().getPeers().add(confirmedPeer); worldManager.getPeerDiscovery().getPeers().add(confirmedPeer);
worldManager.getListener().onHandShakePeer(); worldManager.getListener().onHandShakePeer(msg);
} }
} }

View File

@ -15,6 +15,7 @@ import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.math.BigInteger; import java.math.BigInteger;
import java.net.InetSocketAddress;
/** /**
* @author Roman Mandeleil * @author Roman Mandeleil
@ -44,6 +45,8 @@ public class Channel {
@Autowired @Autowired
MessageEncoder messageEncoder; MessageEncoder messageEncoder;
InetSocketAddress inetSocketAddress;
private long startupTS; private long startupTS;
@ -112,4 +115,12 @@ public class Channel {
public long getStartupTS() { public long getStartupTS() {
return startupTS; return startupTS;
} }
public InetSocketAddress getInetSocketAddress() {
return inetSocketAddress;
}
public void setInetSocketAddress(InetSocketAddress inetSocketAddress) {
this.inetSocketAddress = inetSocketAddress;
}
} }

View File

@ -52,16 +52,12 @@ public class ChannelManager {
public Channel getChannel(String peerId){ public Channel getChannel(String peerId){
for (Channel channel : channels){ for (Channel channel : channels){
String tablePeerId = channel.getP2pHandler().getHandshakeHelloMessage().getPeerId(); String tablePeerId = channel.getP2pHandler().getHandshakeHelloMessage().getPeerId();
if (tablePeerId != null && if (tablePeerId != null &&
peerId.equals(tablePeerId)){ peerId.equals(tablePeerId)){
return channel; return channel;
} }
} }
return null; return null;
} }

View File

@ -67,7 +67,6 @@ public class EthereumChannelInitializer extends ChannelInitializer<NioSocketChan
ch.config().setRecvByteBufAllocator(new FixedRecvByteBufAllocator(32368)); ch.config().setRecvByteBufAllocator(new FixedRecvByteBufAllocator(32368));
ch.config().setOption(ChannelOption.SO_RCVBUF, 32368); ch.config().setOption(ChannelOption.SO_RCVBUF, 32368);
ch.config().setOption(ChannelOption.SO_BACKLOG, 1024); ch.config().setOption(ChannelOption.SO_BACKLOG, 1024);
} }
} }