Skip to content

Commit 9348bca

Browse files
authored
Merge branch 'develop' into db_change_config
2 parents 5755e9f + 8279a22 commit 9348bca

File tree

69 files changed

+896
-1125
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+896
-1125
lines changed

.travis.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,20 @@
11
sudo: required
22
language: java
33
jdk: oraclejdk8
4-
script:
5-
- sh tron.sh
6-
- ./gradlew lint
7-
- ./gradlew test
84
addons:
95
ssh_known_hosts:
106
- 47.93.9.236:22008
7+
sonarcloud:
8+
organization: tron-zhaohong
9+
token:
10+
secure: "KXWEeQ1elAoQ0XfR54TQWfhrIdDP0+2CYPv2X9aWpU/YDl7hqZBAjcCOAUGvlbyM54jtG6YMaWwG48jlrOwwl5l/VjWSnUXF+7ixQy5ki0Ci9s7Y1pTQwV9SpL8TLIK2TYqabN8Mw+FJULASXLjYr9GerbbcUbCPTmcL6mQKw6ivxxpNPmz4eNoKAEuOzruO9fTXGAV3yr8Nn85c+mVxV8EUhkR17zpE9O8fvzOtSnYArWNOSCgDBn0EG45UNNPF2vn44s1c3h3gX1m3WK6PeCXPgy3hPqRn3wTG+xglnbqthGpo2wt1rJ83af+BwdYwvPEcUq84yLgXcE/aMkTKcVAfPWBP/6vblaoI90jxCeFji+MdMimKZAqIXt7oLqDZVmIq65de5YC5s7QTSbzJNY/tsAu3dqzSfbUJY6CRNFDcoenVpvgQkqb37TkDah4mJM8EUjbu2A9Q2HSFbyCVsQJtdasuu9cBOf6azK3U0XgFNBc0y2aziZrTnX30q7bi+5L/mbTnRdXrDqBOqyPeGtT77UZfcajHHmEWU/e6gYWiA/c+K25n13DD53Au6gpnnQ6ALeUl/1gDwz3fPBebJ5bVWrkIcLj7bbysjzfOvQmDS6G13RNz58Hm0/B7bVtZTr1E1q6Z1zEJwbuJYEJASNcezAfK5x/hIfZTGNqT3M8="
11+
cache:
12+
directories:
13+
- '$HOME/.sonar/cache'
14+
script:
15+
- sh tron.sh
16+
- "./gradlew build"
17+
- sonar-scanner
1118
skip_build:
1219
- README.md:
1320
- LICENSE
@@ -17,6 +24,5 @@ deploy:
1724
on:
1825
branch: develop
1926
after_deploy:
20-
- ./gradlew stest
21-
27+
- "./gradlew stest"
2228

build.gradle

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
buildscript {
2+
repositories {
3+
maven { url 'http://mvnrepository.com' }
4+
mavenCentral()
5+
jcenter()
6+
}
7+
dependencies {
8+
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.3'
9+
classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.2'
10+
}
11+
}
12+
plugins {
13+
id "org.sonarqube" version "2.6"
14+
}
15+
116
group 'org.tron'
217
version '1.0.0'
318

@@ -8,7 +23,6 @@ apply plugin: 'checkstyle'
823
apply plugin: 'com.github.johnrengelman.shadow'
924
apply plugin: "jacoco"
1025

11-
1226
sourceCompatibility = 1.8
1327
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
1428
mainClassName = 'org.tron.program.FullNode'
@@ -18,19 +32,6 @@ repositories {
1832
mavenLocal()
1933
mavenCentral()
2034
}
21-
22-
buildscript {
23-
repositories {
24-
maven { url 'http://mvnrepository.com' }
25-
mavenCentral()
26-
jcenter()
27-
}
28-
dependencies {
29-
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.3'
30-
classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.2'
31-
}
32-
}
33-
3435
def versions = [
3536
checkstyle: '8.7',
3637
]
@@ -143,17 +144,15 @@ checkstyle {
143144
}
144145

145146
checkstyleMain {
146-
source 'src'
147-
include '**/*.java'
148-
exclude '**/gen/**'
147+
source = 'src/main/java'
149148
}
150149

151150
task lint(type: Checkstyle) {
152151
// Cleaning the old log because of the creation of the new ones (not sure if totaly needed)
153152
delete fileTree(dir: "${project.rootDir}/app/build/reports")
154153
source 'src'
155154
include '**/*.java'
156-
exclude '**/gen/**'
155+
exclude 'main/gen/**'
157156
// empty classpath
158157
classpath = files()
159158
//Failing the build
@@ -186,6 +185,7 @@ protobuf {
186185
protoc {
187186
artifact = "com.google.protobuf:protoc:3.5.1-1"
188187
}
188+
189189
plugins {
190190
grpc {
191191
artifact = 'io.grpc:protoc-gen-grpc-java:1.9.0'
@@ -236,9 +236,9 @@ jacocoTestReport {
236236
}
237237
}
238238

239-
task stest(type:Test){
240-
useTestNG{
241-
suites( file('src/test/resources/testng.xml') )
239+
task stest(type: Test) {
240+
useTestNG {
241+
suites(file('src/test/resources/testng.xml'))
242242
}
243243

244244
testLogging {
@@ -247,7 +247,7 @@ task stest(type:Test){
247247
}
248248
}
249249

250-
def binaryRelease(taskName,jarName,mainClass) {
250+
def binaryRelease(taskName, jarName, mainClass) {
251251
return tasks.create("${taskName}", Jar) {
252252
baseName = jarName
253253
version = null
@@ -267,7 +267,8 @@ def binaryRelease(taskName,jarName,mainClass) {
267267
}
268268
}
269269

270+
270271
artifacts {
271-
archives(binaryRelease('buildSolidityNodeJar','SolidityNode','org.tron.program.SolidityNode'),
272-
binaryRelease('buildFullNodeJar','FullNode','org.tron.program.FullNode'))
272+
archives(binaryRelease('buildSolidityNodeJar', 'SolidityNode', 'org.tron.program.SolidityNode'),
273+
binaryRelease('buildFullNodeJar', 'FullNode', 'org.tron.program.FullNode'))
273274
}

sonar-project.properties

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
sonar.projectKey=java-tron
2+
sonar.projectName=java-tron
3+
sonar.projectVersion=2.1
4+
# =====================================================
5+
# Meta-data for the project
6+
# =====================================================
7+
sonar.links.homepage=https://github.com/tronprotocol/java-tron
8+
sonar.links.ci=https://travis-ci.org/tronprotocol/java-tron
9+
sonar.links.scm=https://github.com/tronprotocol/java-tron
10+
sonar.links.issue=https://github.com/tronprotocol/java-tron/issues
11+
# =====================================================
12+
# Properties that will be shared amongst all modules
13+
# =====================================================
14+
# SQ standard properties
15+
sonar.sources=src/main
16+
sonar.tests=src/test
17+
sonar.java.binaries=build/classes
18+
# =====================================================
19+
# Properties that will be shared amongst all modules

src/main/java/org/tron/common/overlay/discover/DiscoverListener.java

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,23 @@
2424
*/
2525
public interface DiscoverListener {
2626

27-
/**
28-
* Invoked whenever a new node appeared which meets criteria specified
29-
* in the {@link NodeManager#addDiscoverListener} method
30-
*/
31-
void nodeAppeared(NodeHandler handler);
27+
/**
28+
* Invoked whenever a new node appeared which meets criteria specified in the {@link
29+
* NodeManager#addDiscoverListener} method
30+
*/
31+
void nodeAppeared(NodeHandler handler);
3232

33-
/**
34-
* Invoked whenever a node stops meeting criteria.
35-
*/
36-
void nodeDisappeared(NodeHandler handler);
33+
/**
34+
* Invoked whenever a node stops meeting criteria.
35+
*/
36+
void nodeDisappeared(NodeHandler handler);
3737

38-
class Adapter implements DiscoverListener {
39-
public void nodeAppeared(NodeHandler handler) {}
40-
public void nodeDisappeared(NodeHandler handler) {}
38+
class Adapter implements DiscoverListener {
39+
40+
public void nodeAppeared(NodeHandler handler) {
41+
}
42+
43+
public void nodeDisappeared(NodeHandler handler) {
4144
}
45+
}
4246
}

src/main/java/org/tron/common/overlay/discover/DiscoverTask.java

Lines changed: 61 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -17,78 +17,84 @@
1717
*/
1818
package org.tron.common.overlay.discover;
1919

20+
import java.util.ArrayList;
21+
import java.util.List;
2022
import org.slf4j.Logger;
2123
import org.slf4j.LoggerFactory;
2224
import org.tron.common.overlay.discover.table.KademliaOptions;
2325
import org.tron.common.overlay.discover.table.NodeEntry;
2426

25-
import java.util.ArrayList;
26-
import java.util.List;
27-
2827
public class DiscoverTask implements Runnable {
29-
private static final Logger logger = LoggerFactory.getLogger("DiscoverTask");
3028

31-
NodeManager nodeManager;
29+
private static final Logger logger = LoggerFactory.getLogger("DiscoverTask");
3230

33-
byte[] nodeId;
31+
NodeManager nodeManager;
3432

35-
public DiscoverTask(NodeManager nodeManager) {
36-
this.nodeManager = nodeManager;
37-
nodeId = nodeManager.homeNode.getId();
38-
}
33+
byte[] nodeId;
3934

40-
@Override
41-
public void run() {
42-
discover(nodeId, 0, new ArrayList<Node>());
43-
}
35+
public DiscoverTask(NodeManager nodeManager) {
36+
this.nodeManager = nodeManager;
37+
nodeId = nodeManager.homeNode.getId();
38+
}
39+
40+
@Override
41+
public void run() {
42+
discover(nodeId, 0, new ArrayList<Node>());
43+
}
4444

45-
public synchronized void discover(byte[] nodeId, int round, List<Node> prevTried) {
45+
public synchronized void discover(byte[] nodeId, int round, List<Node> prevTried) {
4646

47-
try {
48-
if (round == KademliaOptions.MAX_STEPS) {
49-
logger.debug("Node table contains [{}] peers", nodeManager.getTable().getNodesCount());
50-
logger.debug("{}", String.format("(KademliaOptions.MAX_STEPS) Terminating discover after %d rounds.", round));
51-
logger.trace("{}\n{}", String.format("Nodes discovered %d ", nodeManager.getTable().getNodesCount()), dumpNodes());
52-
return;
53-
}
47+
try {
48+
if (round == KademliaOptions.MAX_STEPS) {
49+
logger.debug("Node table contains [{}] peers", nodeManager.getTable().getNodesCount());
50+
logger.debug("{}", String
51+
.format("(KademliaOptions.MAX_STEPS) Terminating discover after %d rounds.", round));
52+
logger.trace("{}\n{}",
53+
String.format("Nodes discovered %d ", nodeManager.getTable().getNodesCount()),
54+
dumpNodes());
55+
return;
56+
}
5457

55-
List<Node> closest = nodeManager.getTable().getClosestNodes(nodeId);
56-
List<Node> tried = new ArrayList<>();
57-
for (Node n : closest) {
58-
if (!tried.contains(n) && !prevTried.contains(n)) {
59-
try {
60-
nodeManager.getNodeHandler(n).sendFindNode(nodeId);
61-
tried.add(n);
62-
Thread.sleep(50);
63-
}catch (InterruptedException e) {
64-
} catch (Exception ex) {
65-
logger.error("Unexpected Exception " + ex, ex);
66-
}
67-
}
68-
if (tried.size() == KademliaOptions.ALPHA) {
69-
break;
70-
}
71-
}
58+
List<Node> closest = nodeManager.getTable().getClosestNodes(nodeId);
59+
List<Node> tried = new ArrayList<>();
60+
for (Node n : closest) {
61+
if (!tried.contains(n) && !prevTried.contains(n)) {
62+
try {
63+
nodeManager.getNodeHandler(n).sendFindNode(nodeId);
64+
tried.add(n);
65+
Thread.sleep(50);
66+
} catch (InterruptedException e) {
67+
} catch (Exception ex) {
68+
logger.error("Unexpected Exception " + ex, ex);
69+
}
70+
}
71+
if (tried.size() == KademliaOptions.ALPHA) {
72+
break;
73+
}
74+
}
7275

73-
if (tried.isEmpty()) {
74-
logger.debug("{}", String.format("(tried.isEmpty()) Terminating discover after %d rounds.", round));
75-
logger.trace("{}\n{}", String.format("Nodes discovered %d ", nodeManager.getTable().getNodesCount()), dumpNodes());
76-
return;
77-
}
76+
if (tried.isEmpty()) {
77+
logger.debug("{}",
78+
String.format("(tried.isEmpty()) Terminating discover after %d rounds.", round));
79+
logger.trace("{}\n{}",
80+
String.format("Nodes discovered %d ", nodeManager.getTable().getNodesCount()),
81+
dumpNodes());
82+
return;
83+
}
7884

79-
tried.addAll(prevTried);
85+
tried.addAll(prevTried);
8086

81-
discover(nodeId, round + 1, tried);
82-
} catch (Exception ex) {
83-
logger.error("{}", ex);
84-
}
87+
discover(nodeId, round + 1, tried);
88+
} catch (Exception ex) {
89+
logger.error("{}", ex);
8590
}
91+
}
8692

87-
private String dumpNodes() {
88-
String ret = "";
89-
for (NodeEntry entry : nodeManager.getTable().getAllNodes()) {
90-
ret += " " + entry.getNode() + "\n";
91-
}
92-
return ret;
93+
private String dumpNodes() {
94+
String ret = "";
95+
for (NodeEntry entry : nodeManager.getTable().getAllNodes()) {
96+
ret += " " + entry.getNode() + "\n";
9397
}
98+
return ret;
99+
}
94100
}

src/main/java/org/tron/common/overlay/discover/DiscoveryEvent.java

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,33 +17,32 @@
1717
*/
1818
package org.tron.common.overlay.discover;
1919

20-
import org.tron.common.overlay.discover.message.Message;
21-
2220
import java.net.InetSocketAddress;
21+
import org.tron.common.overlay.discover.message.Message;
2322

2423
public class DiscoveryEvent {
2524

26-
private Message message;
27-
private InetSocketAddress address;
25+
private Message message;
26+
private InetSocketAddress address;
2827

29-
public DiscoveryEvent(Message m, InetSocketAddress a) {
30-
message = m;
31-
address = a;
32-
}
28+
public DiscoveryEvent(Message m, InetSocketAddress a) {
29+
message = m;
30+
address = a;
31+
}
3332

34-
public Message getMessage() {
35-
return message;
36-
}
33+
public Message getMessage() {
34+
return message;
35+
}
3736

38-
public void setMessage(Message message) {
39-
this.message = message;
40-
}
37+
public void setMessage(Message message) {
38+
this.message = message;
39+
}
4140

42-
public InetSocketAddress getAddress() {
43-
return address;
44-
}
41+
public InetSocketAddress getAddress() {
42+
return address;
43+
}
4544

46-
public void setAddress(InetSocketAddress address) {
47-
this.address = address;
48-
}
45+
public void setAddress(InetSocketAddress address) {
46+
this.address = address;
47+
}
4948
}

0 commit comments

Comments
 (0)