mirror of https://github.com/zlatinb/muwire
skeleton of host cache querying functionality
parent
6ddce7d276
commit
cbe359deca
|
@ -0,0 +1,12 @@
|
|||
package com.muwire.core.connection
|
||||
|
||||
import com.muwire.core.Event
|
||||
|
||||
import net.i2p.data.Destination
|
||||
|
||||
class ConnectionEvent extends Event {
|
||||
|
||||
Destination destination
|
||||
ConnectionAttemptStatus status
|
||||
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package com.muwire.core.hostcache
|
||||
|
||||
import net.i2p.data.Destination
|
||||
|
||||
class CacheServers {
|
||||
|
||||
private static final int TO_GIVE = 3
|
||||
private static List<Destination> CACHES = [
|
||||
new Destination("KvwWPKMSAtzf7Yruj8TQaHi2jaQpSNsXJskbpmSBTxkcYlDB2GllH~QBu-cs4FSYdaRmKDUUx7793jjnYJgTMbrjqeIL5-BTORZ09n6PUfhSejDpJjdkUxaV1OHRatfYs70RNBv7rvdj1-nXUow5tMfOJtoWVocUoKefUGFQFbJLDDkBqjm1kFyKFZv6m6S6YqXxBgVB1qYicooy67cNQF5HLUFtP15pk5fMDNGz5eNCjPfC~2Gp8FF~OpSy92HT0XN7uAMJykPcbdnWfcvVwqD7eS0K4XEnsqnMPLEiMAhqsugEFiFqtB3Wmm7UHVc03lcAfRhr1e2uZBNFTtM2Uol4MD5sCCKRZVHGcH-WGPSEz0BM5YO~Xi~dQ~N3NVud32PVzhh8xoGcAlhTqMqAbRJndCv-H6NflX90pYmbirCTIDOaR9758mThrqX0d4CwCn4jFXer52l8Qe8CErGoLuB-4LL~Gwrn7R1k7ZQc2PthkqeW8MfigyiN7hZVkul9AAAA")
|
||||
]
|
||||
|
||||
static List<Destination> getCacheServers() {
|
||||
List<Destination> allCaches = new ArrayList<>(CACHES)
|
||||
Collections.shuffle(allCaches)
|
||||
if (allCaches.size() <= TO_GIVE)
|
||||
return allCaches
|
||||
allCaches[0..TO_GIVE-1]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
package com.muwire.core.hostcache
|
||||
|
||||
import net.i2p.data.Destination
|
||||
|
||||
class Host {
|
||||
|
||||
private static final int MAX_FAILURES = 3
|
||||
|
||||
final Destination destination
|
||||
int failures
|
||||
|
||||
public Host(Destination destination) {
|
||||
this.destination = destination
|
||||
}
|
||||
|
||||
synchronized void onConnect() {
|
||||
failures = 0
|
||||
}
|
||||
|
||||
synchronized void onFailure() {
|
||||
failures++
|
||||
}
|
||||
|
||||
synchronized boolean isFailed() {
|
||||
failures >= MAX_FAILURES
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
package com.muwire.core.hostcache
|
||||
|
||||
import com.muwire.core.trust.TrustService
|
||||
|
||||
class HostCache {
|
||||
|
||||
final TrustService trustService
|
||||
public HostCache(TrustService trustService) {
|
||||
this.trustService = trustService
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package com.muwire.core.hostcache
|
||||
|
||||
import com.muwire.core.Event
|
||||
|
||||
import net.i2p.data.Destination
|
||||
|
||||
class HostDiscoveredEvent extends Event {
|
||||
|
||||
Destination destination
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package com.muwire.core.connection;
|
||||
|
||||
public enum ConnectionAttemptStatus {
|
||||
SUCCESSFUL, REJECTED, FAILED
|
||||
}
|
Loading…
Reference in New Issue