Introduce onHandShakePeer() callback will expose HelloMessage
This commit is contained in:
parent
c7638c2617
commit
d097a56644
|
@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue