Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(net): tron system integrates libp2p module #4791

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ shareddata.*

# protobuf generated classes
src/main/gen

src/main/java/org/tron/core/bftconsensus
src/test/java/org/tron/consensus2
src/main/java/META-INF/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,10 @@ public ByteBuf getSendData() {
return Unpooled.wrappedBuffer(ArrayUtils.add(this.getData(), 0, type));
}

public byte[] getSendBytes() {
return ArrayUtils.add(this.getData(), 0, type);
}

public Sha256Hash getMessageId() {
return Sha256Hash.of(CommonParameter.getInstance().isECKeyCryptoEngine(),
getData());
Expand Down
135 changes: 0 additions & 135 deletions common/src/main/java/org/tron/common/overlay/discover/node/Node.java

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package org.tron.common.parameter;

import com.beust.jcommander.Parameter;

import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
Expand All @@ -11,7 +14,6 @@
import org.tron.common.config.DbBackupConfig;
import org.tron.common.logsfilter.EventPluginConfig;
import org.tron.common.logsfilter.FilterQuery;
import org.tron.common.overlay.discover.node.Node;
import org.tron.common.setting.RocksDbSettings;
import org.tron.core.Constant;
import org.tron.core.config.args.Overlay;
Expand Down Expand Up @@ -390,12 +392,12 @@ public class CommonParameter {
public GenesisBlock genesisBlock;
@Getter
@Setter
public List<Node> activeNodes;
public List<InetSocketAddress> activeNodes;
@Getter
@Setter
public List<Node> passiveNodes;
public List<InetAddress> passiveNodes;
@Getter
public List<Node> fastForwardNodes;
public List<InetSocketAddress> fastForwardNodes;
@Getter
public int maxFastForwardNum;
@Getter
Expand Down
2 changes: 2 additions & 0 deletions framework/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ dependencies {

compile group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.69'

compile group: 'com.github.tronprotocol', name: 'libp2p', version: 'test-v0.1.4'

compile group: 'com.typesafe', name: 'config', version: '1.3.2'

compile "com.cedarsoftware:java-util:1.8.0"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import org.tron.core.metrics.MetricsUtil;
import org.tron.core.net.TronNetService;
import org.tron.program.FullNode;
import org.tron.program.SolidityNode;

@Slf4j(topic = "app")
@Component
Expand Down Expand Up @@ -56,15 +57,19 @@ public void initServices(CommonParameter parameter) {
* start up the app.
*/
public void startup() {
tronNetService.start();
if (!Args.getInstance().isSolidityNode()) {
tronNetService.start();
}
consensusService.start();
MetricsUtil.init();
}

@Override
public void shutdown() {
logger.info("******** start to shutdown ********");
tronNetService.stop();
if (!Args.getInstance().isSolidityNode()) {
tronNetService.close();
}
consensusService.stop();
synchronized (dbManager.getRevokingStore()) {
dbManager.getSession().reset();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,8 @@

import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.tron.common.overlay.discover.DiscoverServer;
import org.tron.common.overlay.discover.node.NodeManager;
import org.tron.common.overlay.server.ChannelManager;
import org.tron.core.db.Manager;
import org.tron.core.net.TronNetService;

public class TronApplicationContext extends AnnotationConfigApplicationContext {

Expand All @@ -31,12 +29,8 @@ public void destroy() {
appT.shutdownServices();
appT.shutdown();

DiscoverServer discoverServer = getBean(DiscoverServer.class);
discoverServer.close();
ChannelManager channelManager = getBean(ChannelManager.class);
channelManager.close();
NodeManager nodeManager = getBean(NodeManager.class);
nodeManager.close();
TronNetService tronNetService = getBean(TronNetService.class);
tronNetService.close();

Manager dbManager = getBean(Manager.class);
dbManager.stopRePushThread();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import static org.tron.common.backup.BackupManager.BackupStatusEnum.INIT;
import static org.tron.common.backup.BackupManager.BackupStatusEnum.MASTER;
import static org.tron.common.backup.BackupManager.BackupStatusEnum.SLAVER;
import static org.tron.common.net.udp.message.UdpMessageTypeEnum.BACKUP_KEEP_ALIVE;
import static org.tron.common.backup.message.UdpMessageTypeEnum.BACKUP_KEEP_ALIVE;

import io.netty.util.internal.ConcurrentSet;
import java.net.InetAddress;
Expand All @@ -14,11 +14,11 @@
import java.util.concurrent.TimeUnit;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.tron.common.net.udp.handler.EventHandler;
import org.tron.common.net.udp.handler.MessageHandler;
import org.tron.common.net.udp.handler.UdpEvent;
import org.tron.common.net.udp.message.Message;
import org.tron.common.net.udp.message.backup.KeepAliveMessage;
import org.tron.common.backup.message.KeepAliveMessage;
import org.tron.common.backup.message.Message;
import org.tron.common.backup.socket.EventHandler;
import org.tron.common.backup.socket.MessageHandler;
import org.tron.common.backup.socket.UdpEvent;
import org.tron.common.parameter.CommonParameter;

@Slf4j(topic = "backup")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
package org.tron.common.net.udp.message.backup;
package org.tron.common.backup.message;

import static org.tron.common.net.udp.message.UdpMessageTypeEnum.BACKUP_KEEP_ALIVE;
import static org.tron.common.backup.message.UdpMessageTypeEnum.BACKUP_KEEP_ALIVE;

import org.tron.common.net.udp.message.Message;
import org.tron.common.overlay.discover.node.Node;
import org.tron.p2p.discover.Node;
import org.tron.protos.Discover;

public class KeepAliveMessage extends Message {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
package org.tron.common.net.udp.message;
package org.tron.common.backup.message;

import org.apache.commons.lang3.ArrayUtils;
import org.tron.common.net.udp.message.backup.KeepAliveMessage;
import org.tron.common.net.udp.message.discover.FindNodeMessage;
import org.tron.common.net.udp.message.discover.NeighborsMessage;
import org.tron.common.net.udp.message.discover.PingMessage;
import org.tron.common.net.udp.message.discover.PongMessage;
import org.tron.common.overlay.discover.node.Node;
import org.tron.common.parameter.CommonParameter;
import org.tron.common.utils.ByteArray;
import org.tron.common.utils.Sha256Hash;
import org.tron.core.exception.P2pException;
import org.tron.p2p.discover.Node;
import org.tron.protos.Discover.Endpoint;

public abstract class Message {
Expand All @@ -33,14 +28,6 @@ public static Message parse(byte[] encode) throws Exception {
byte type = encode[0];
byte[] data = ArrayUtils.subarray(encode, 1, encode.length);
switch (UdpMessageTypeEnum.fromByte(type)) {
case DISCOVER_PING:
return new PingMessage(data);
case DISCOVER_PONG:
return new PongMessage(data);
case DISCOVER_FIND_NODE:
return new FindNodeMessage(data);
case DISCOVER_NEIGHBORS:
return new NeighborsMessage(data);
case BACKUP_KEEP_ALIVE:
return new KeepAliveMessage(data);
default:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
package org.tron.common.net.udp.message;
package org.tron.common.backup.message;

import java.util.HashMap;
import java.util.Map;

public enum UdpMessageTypeEnum {

DISCOVER_PING((byte) 0x01),

DISCOVER_PONG((byte) 0x02),

DISCOVER_FIND_NODE((byte) 0x03),

DISCOVER_NEIGHBORS((byte) 0x04),

BACKUP_KEEP_ALIVE((byte) 0x05),

UNKNOWN((byte) 0xFF);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.tron.common.backup;
package org.tron.common.backup.socket;

import io.netty.bootstrap.Bootstrap;
import io.netty.channel.Channel;
Expand All @@ -11,10 +11,9 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.tron.common.net.udp.handler.MessageHandler;
import org.tron.common.net.udp.handler.PacketDecoder;
import org.tron.common.overlay.server.WireTrafficStats;
import org.tron.common.backup.BackupManager;
import org.tron.common.parameter.CommonParameter;
import org.tron.p2p.stats.TrafficStats;

@Slf4j(topic = "backup")
@Component
Expand All @@ -30,9 +29,6 @@ public class BackupServer {

private volatile boolean shutdown = false;

@Autowired
private WireTrafficStats stats;

@Autowired
public BackupServer(final BackupManager backupManager) {
this.backupManager = backupManager;
Expand Down Expand Up @@ -61,7 +57,7 @@ private void start() throws Exception {
@Override
public void initChannel(NioDatagramChannel ch)
throws Exception {
ch.pipeline().addLast(stats.udp);
ch.pipeline().addLast(TrafficStats.udp);
ch.pipeline().addLast(new ProtobufVarint32LengthFieldPrepender());
ch.pipeline().addLast(new ProtobufVarint32FrameDecoder());
ch.pipeline().addLast(new PacketDecoder());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.tron.common.net.udp.handler;
package org.tron.common.backup.socket;

public interface EventHandler {

Expand Down
Loading