Compare commits

...

9 Commits

Author SHA1 Message Date
Zlatin Balevsky
c48df7f14b Release 0.1.9 2019-06-13 22:57:08 +01:00
Zlatin Balevsky
9d04148001 remember loaded downloads from previous sessions 2019-06-13 22:53:23 +01:00
Zlatin Balevsky
bb4d522572 Release 0.1.8 2019-06-13 15:27:06 +01:00
Zlatin Balevsky
8052501e52 increase persistence interval to 15 seconds 2019-06-13 15:25:30 +01:00
Zlatin Balevsky
66cc6d8ab7 reduce piece size by factor of 8 2019-06-13 15:24:26 +01:00
Zlatin Balevsky
a45e57f5ec Release 0.1.7 2019-06-13 10:28:44 +01:00
Zlatin Balevsky
7d8ca55d87 fix emiting of download finished event 2019-06-13 10:27:18 +01:00
Zlatin Balevsky
de22f3c6b9 use metal lnf on java 9 or newer 2019-06-13 05:02:11 +01:00
Zlatin Balevsky
3b0eb5678d update wire protocol 2019-06-12 23:46:48 +01:00
9 changed files with 24 additions and 13 deletions

View File

@@ -34,7 +34,7 @@ class Cli {
Core core
try {
core = new Core(props, home, "0.1.6")
core = new Core(props, home, "0.1.9")
} catch (Exception bad) {
bad.printStackTrace(System.out)
println "Failed to initialize core, exiting"

View File

@@ -53,7 +53,7 @@ class CliDownloader {
Core core
try {
core = new Core(props, home, "0.1.6")
core = new Core(props, home, "0.1.9")
} catch (Exception bad) {
bad.printStackTrace(System.out)
println "Failed to initialize core, exiting"

View File

@@ -160,7 +160,7 @@ public class Core {
eventBus.register(SearchEvent.class, fileManager)
log.info "initializing persistence service"
persisterService = new PersisterService(new File(home, "files.json"), eventBus, 5000, fileManager)
persisterService = new PersisterService(new File(home, "files.json"), eventBus, 15000, fileManager)
log.info("initializing host cache")
File hostStorage = new File(home, "hosts.json")
@@ -260,7 +260,7 @@ public class Core {
}
}
Core core = new Core(props, home, "0.1.6")
Core core = new Core(props, home, "0.1.9")
core.startServices()
// ... at the end, sleep or execute script

View File

@@ -99,6 +99,7 @@ public class DownloadManager {
}
def downloader = new Downloader(eventBus, this, me, file, (long)json.length,
infoHash, json.pieceSizePow2, connector, destinations, incompletes)
downloaders.add(downloader)
downloader.download()
eventBus.publish(new DownloadStartedEvent(downloader : downloader))
}

View File

@@ -239,8 +239,11 @@ public class Downloader {
if (downloaded.isComplete() && !eventFired) {
piecesFile.delete()
eventFired = true
eventBus.publish(new FileDownloadedEvent(downloadedFile : new DownloadedFile(file, getInfoHash(), pieceSizePow2, Collections.emptySet())),
downloader : Downloader.this)
eventBus.publish(
new FileDownloadedEvent(
downloadedFile : new DownloadedFile(file, getInfoHash(), pieceSizePow2, Collections.emptySet()),
downloader : Downloader.this))
}
endpoint?.close()
}

View File

@@ -20,12 +20,12 @@ class FileHasher {
* @return the size of each piece in power of 2
*/
static int getPieceSize(long size) {
if (size <= 0x1 << 27)
if (size <= 0x1 << 30)
return 17
for (int i = 28; i <= 37; i++) {
for (int i = 31; i <= 37; i++) {
if (size <= 0x1L << i) {
return i-10
return i-13
}
}

View File

@@ -181,6 +181,8 @@ Search results are sent through and HTTP POST method from the responder to the o
* The "altlocs" list contains list of alternate personas that the responder thinks may also have the file.
* The "pieceSize" field is the size of the each individual file piece (except possibly the last) in powers of 2
Results version 1 contain the full hashlist, version 2 does not contain that list. See the "infohash-upgrade" document for more information.
### "Who do you trust" query - any node to any node
(See the "web-of-trust" document for more info on this query)

View File

@@ -1,5 +1,5 @@
group = com.muwire
version = 0.1.6
version = 0.1.9
groovyVersion = 2.4.15
slf4jVersion = 1.7.25
spockVersion = 1.1-groovy-2.4

View File

@@ -69,8 +69,13 @@ class Initialize extends AbstractLifecycleHandler {
uiSettings = new UISettings(props)
log.info "will try default lnfs"
if (isMacOSX()) {
uiSettings.lnf = "nimbus"
lookAndFeel('nimbus') // otherwise the file chooser doesn't open???
if (SystemVersion.isJava9()) {
uiSettings.lnf = "metal"
lookAndFeel("metal")
} else {
uiSettings.lnf = "nimbus"
lookAndFeel('nimbus') // otherwise the file chooser doesn't open???
}
} else {
LookAndFeel chosen = lookAndFeel('system', 'gtk')
uiSettings.lnf = chosen.name