Compare commits
5 Commits
muwire-0.0
...
muwire-0.1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
cda81a89a2 | ||
![]() |
483773422c | ||
![]() |
1e1e6d0bb0 | ||
![]() |
668d6e087d | ||
![]() |
49af412b96 |
@@ -34,7 +34,7 @@ class Cli {
|
||||
|
||||
Core core
|
||||
try {
|
||||
core = new Core(props, home, "0.0.14")
|
||||
core = new Core(props, home, "0.1.0")
|
||||
} catch (Exception bad) {
|
||||
bad.printStackTrace(System.out)
|
||||
println "Failed to initialize core, exiting"
|
||||
|
@@ -53,7 +53,7 @@ class CliDownloader {
|
||||
|
||||
Core core
|
||||
try {
|
||||
core = new Core(props, home, "0.0.14")
|
||||
core = new Core(props, home, "0.1.0")
|
||||
} catch (Exception bad) {
|
||||
bad.printStackTrace(System.out)
|
||||
println "Failed to initialize core, exiting"
|
||||
@@ -95,6 +95,21 @@ class CliDownloader {
|
||||
|
||||
Thread.sleep(1000)
|
||||
|
||||
Timer timer = new Timer("stats-printer")
|
||||
timer.schedule({
|
||||
println "==== STATUS UPDATE ==="
|
||||
downloaders.each {
|
||||
int donePieces = it.donePieces()
|
||||
int totalPieces = it.nPieces
|
||||
int sources = it.activeWorkers.size()
|
||||
def root = Base64.encode(it.infoHash.getRoot())
|
||||
def state = it.getCurrentState()
|
||||
println "file $it.file hash: $root progress: $donePieces/$totalPieces sources: $sources status: $state}"
|
||||
it.resume()
|
||||
}
|
||||
println "==== END ==="
|
||||
} as TimerTask, 60000, 60000)
|
||||
|
||||
println "waiting for downloads to finish"
|
||||
while(true) {
|
||||
boolean allFinished = true
|
||||
@@ -124,6 +139,7 @@ class CliDownloader {
|
||||
UUID uuid
|
||||
String fileName
|
||||
public onUIResultEvent(UIResultEvent e) {
|
||||
println "got a result for $fileName from ${e.sender.getHumanReadableName()}"
|
||||
ResultsHolder listener = resultsListeners.get(e.uuid)
|
||||
if (listener == null) {
|
||||
listener = new ResultsHolder(fileName : fileName)
|
||||
|
@@ -249,7 +249,7 @@ public class Core {
|
||||
}
|
||||
}
|
||||
|
||||
Core core = new Core(props, home, "0.0.14")
|
||||
Core core = new Core(props, home, "0.1.0")
|
||||
core.startServices()
|
||||
|
||||
// ... at the end, sleep or execute script
|
||||
|
@@ -144,7 +144,7 @@ class ConnectionAcceptor {
|
||||
|
||||
private void handleIncoming(Endpoint e, boolean leaf) {
|
||||
boolean accept = !manager.isConnected(e.destination) &&
|
||||
!establisher.inProgress.contains(e.destination) &&
|
||||
!establisher.isInProgress(e.destination) &&
|
||||
(leaf ? manager.hasLeafSlots() : manager.hasPeerSlots())
|
||||
if (accept) {
|
||||
log.info("accepting connection, leaf:$leaf")
|
||||
|
@@ -35,6 +35,8 @@ class ConnectionEstablisher {
|
||||
|
||||
final Set inProgress = new ConcurrentHashSet()
|
||||
|
||||
ConnectionEstablisher(){}
|
||||
|
||||
ConnectionEstablisher(EventBus eventBus, I2PConnector i2pConnector, MuWireSettings settings,
|
||||
ConnectionManager connectionManager, HostCache hostCache) {
|
||||
this.eventBus = eventBus
|
||||
@@ -176,4 +178,8 @@ class ConnectionEstablisher {
|
||||
e.close()
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isInProgress(Destination d) {
|
||||
inProgress.contains(d)
|
||||
}
|
||||
}
|
||||
|
@@ -43,6 +43,9 @@ class ConnectionAcceptorTest {
|
||||
|
||||
def uploadManagerMock
|
||||
UploadManager uploadManager
|
||||
|
||||
def connectionEstablisherMock
|
||||
ConnectionEstablisher connectionEstablisher
|
||||
|
||||
ConnectionAcceptor acceptor
|
||||
List<ConnectionEvent> connectionEvents
|
||||
@@ -57,6 +60,7 @@ class ConnectionAcceptorTest {
|
||||
trustServiceMock = new MockFor(TrustService.class)
|
||||
searchManagerMock = new MockFor(SearchManager.class)
|
||||
uploadManagerMock = new MockFor(UploadManager.class)
|
||||
connectionEstablisherMock = new MockFor(ConnectionEstablisher.class)
|
||||
}
|
||||
|
||||
@After
|
||||
@@ -68,6 +72,7 @@ class ConnectionAcceptorTest {
|
||||
trustServiceMock.verify trustService
|
||||
searchManagerMock.verify searchManager
|
||||
uploadManagerMock.verify uploadManager
|
||||
connectionEstablisherMock.verify connectionEstablisher
|
||||
Thread.sleep(100)
|
||||
}
|
||||
|
||||
@@ -87,8 +92,10 @@ class ConnectionAcceptorTest {
|
||||
trustService = trustServiceMock.proxyInstance()
|
||||
searchManager = searchManagerMock.proxyInstance()
|
||||
uploadManager = uploadManagerMock.proxyInstance()
|
||||
connectionEstablisher = connectionEstablisherMock.proxyInstance()
|
||||
|
||||
acceptor = new ConnectionAcceptor(eventBus, connectionManager, settings, i2pAcceptor, hostCache, trustService, searchManager, uploadManager)
|
||||
acceptor = new ConnectionAcceptor(eventBus, connectionManager, settings, i2pAcceptor,
|
||||
hostCache, trustService, searchManager, uploadManager, connectionEstablisher)
|
||||
acceptor.start()
|
||||
Thread.sleep(100)
|
||||
}
|
||||
@@ -108,6 +115,7 @@ class ConnectionAcceptorTest {
|
||||
new Endpoint(destinations.dest1, is, os, null)
|
||||
}
|
||||
i2pAcceptorMock.demand.accept { Thread.sleep(Integer.MAX_VALUE) }
|
||||
connectionEstablisherMock.demand.isInProgress(destinations.dest1) { false }
|
||||
connectionManagerMock.demand.isConnected { dest ->
|
||||
assert dest == destinations.dest1
|
||||
false
|
||||
@@ -150,6 +158,7 @@ class ConnectionAcceptorTest {
|
||||
new Endpoint(destinations.dest1, is, os, null)
|
||||
}
|
||||
i2pAcceptorMock.demand.accept { Thread.sleep(Integer.MAX_VALUE) }
|
||||
connectionEstablisherMock.demand.isInProgress(destinations.dest1) { false }
|
||||
connectionManagerMock.demand.isConnected { dest ->
|
||||
assert dest == destinations.dest1
|
||||
false
|
||||
@@ -264,6 +273,7 @@ class ConnectionAcceptorTest {
|
||||
new Endpoint(destinations.dest1, is, os, null)
|
||||
}
|
||||
i2pAcceptorMock.demand.accept { Thread.sleep(Integer.MAX_VALUE) }
|
||||
connectionEstablisherMock.demand.isInProgress(destinations.dest1) { false }
|
||||
connectionManagerMock.demand.isConnected { dest ->
|
||||
assert dest == destinations.dest1
|
||||
false
|
||||
@@ -310,6 +320,7 @@ class ConnectionAcceptorTest {
|
||||
new Endpoint(destinations.dest1, is, os, null)
|
||||
}
|
||||
i2pAcceptorMock.demand.accept { Thread.sleep(Integer.MAX_VALUE) }
|
||||
connectionEstablisherMock.demand.isInProgress(destinations.dest1) { false }
|
||||
connectionManagerMock.demand.isConnected { dest ->
|
||||
assert dest == destinations.dest1
|
||||
false
|
||||
@@ -356,6 +367,7 @@ class ConnectionAcceptorTest {
|
||||
new Endpoint(destinations.dest1, is, os, null)
|
||||
}
|
||||
i2pAcceptorMock.demand.accept { Thread.sleep(Integer.MAX_VALUE) }
|
||||
connectionEstablisherMock.demand.isInProgress(destinations.dest1) { false }
|
||||
connectionManagerMock.demand.isConnected { dest ->
|
||||
assert dest == destinations.dest1
|
||||
false
|
||||
|
@@ -5,6 +5,7 @@ import org.junit.Test
|
||||
|
||||
import com.muwire.core.EventBus
|
||||
import com.muwire.core.InfoHash
|
||||
import com.muwire.core.MuWireSettings
|
||||
import com.muwire.core.SharedFile
|
||||
import com.muwire.core.search.ResultsEvent
|
||||
import com.muwire.core.search.SearchEvent
|
||||
@@ -26,7 +27,7 @@ class FileManagerTest {
|
||||
void before() {
|
||||
eventBus = new EventBus()
|
||||
eventBus.register(ResultsEvent.class, listener)
|
||||
manager = new FileManager(eventBus)
|
||||
manager = new FileManager(eventBus, new MuWireSettings())
|
||||
results = null
|
||||
}
|
||||
|
||||
|
@@ -8,6 +8,7 @@ import org.junit.Before
|
||||
import org.junit.Test
|
||||
|
||||
import com.muwire.core.EventBus
|
||||
import com.muwire.core.MuWireSettings
|
||||
|
||||
class HasherServiceTest {
|
||||
|
||||
@@ -24,7 +25,7 @@ class HasherServiceTest {
|
||||
void before() {
|
||||
eventBus = new EventBus()
|
||||
hasher = new FileHasher()
|
||||
service = new HasherService(hasher, eventBus)
|
||||
service = new HasherService(hasher, eventBus, new FileManager(eventBus, new MuWireSettings()))
|
||||
eventBus.register(FileHashedEvent.class, listener)
|
||||
service.start()
|
||||
}
|
||||
|
@@ -8,6 +8,7 @@ import com.muwire.core.Destinations
|
||||
import com.muwire.core.DownloadedFile
|
||||
import com.muwire.core.EventBus
|
||||
import com.muwire.core.InfoHash
|
||||
import com.muwire.core.MuWireSettings
|
||||
import com.muwire.core.SharedFile
|
||||
import com.muwire.core.util.DataUtil
|
||||
|
||||
@@ -31,7 +32,7 @@ class PersisterServiceSavingTest {
|
||||
f = new File("build.gradle")
|
||||
f = f.getCanonicalFile()
|
||||
ih = fh.hashFile(f)
|
||||
fileSource = new FileManager(eventBus) {
|
||||
fileSource = new FileManager(eventBus, new MuWireSettings()) {
|
||||
Map<File, SharedFile> getSharedFiles() {
|
||||
Map<File, SharedFile> rv = new HashMap<>()
|
||||
rv.put(f, sf)
|
||||
|
@@ -1,5 +1,5 @@
|
||||
group = com.muwire
|
||||
version = 0.0.14
|
||||
version = 0.1.0
|
||||
groovyVersion = 2.4.15
|
||||
slf4jVersion = 1.7.25
|
||||
spockVersion = 1.1-groovy-2.4
|
||||
|
Reference in New Issue
Block a user