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.Transaction;
import org.ethereum.net.message.Message;
import org.ethereum.net.p2p.HelloMessage;
import java.util.Set;
@ -28,6 +29,6 @@ public interface EthereumListener {
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.Transaction;
import org.ethereum.net.message.Message;
import org.ethereum.net.p2p.HelloMessage;
import java.util.Set;
@ -42,7 +43,7 @@ public class EthereumListenerAdapter implements EthereumListener {
}
@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.net.message.Message;
import org.ethereum.net.p2p.HelloMessage;
import org.springframework.stereotype.Component;
import java.util.Set;
@ -69,9 +70,9 @@ public class EthereumListenerWrapper implements EthereumListener {
}
@Override
public void onHandShakePeer() {
public void onHandShakePeer(HelloMessage helloMessage) {
if (listener != null)
listener.onHandShakePeer();
listener.onHandShakePeer(helloMessage);
}
public void addListener(EthereumListener listener) {

View File

@ -243,7 +243,7 @@ public class P2pHandler extends SimpleChannelInboundHandler<P2pMessage> {
//todo calculate the Offsets
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 java.math.BigInteger;
import java.net.InetSocketAddress;
/**
* @author Roman Mandeleil
@ -44,6 +45,8 @@ public class Channel {
@Autowired
MessageEncoder messageEncoder;
InetSocketAddress inetSocketAddress;
private long startupTS;
@ -112,4 +115,12 @@ public class Channel {
public long getStartupTS() {
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){
for (Channel channel : channels){
String tablePeerId = channel.getP2pHandler().getHandshakeHelloMessage().getPeerId();
if (tablePeerId != null &&
peerId.equals(tablePeerId)){
return channel;
}
}
return null;
}

View File

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