mirror of https://github.com/zlatinb/muwire
parse incoming datagrams
parent
945d4a6731
commit
5491596e6d
|
@ -1,5 +1,6 @@
|
||||||
package com.muwire.hostcache
|
package com.muwire.hostcache
|
||||||
|
|
||||||
|
import groovy.json.JsonSlurper
|
||||||
import net.i2p.client.I2PClientFactory
|
import net.i2p.client.I2PClientFactory
|
||||||
import net.i2p.client.I2PSession
|
import net.i2p.client.I2PSession
|
||||||
import net.i2p.client.I2PSessionMuxedListener
|
import net.i2p.client.I2PSessionMuxedListener
|
||||||
|
@ -56,6 +57,8 @@ public class HostCache {
|
||||||
}
|
}
|
||||||
|
|
||||||
static class Listener implements I2PSessionMuxedListener {
|
static class Listener implements I2PSessionMuxedListener {
|
||||||
|
final def json = new JsonSlurper()
|
||||||
|
|
||||||
void reportAbuse(I2PSession sesison, int severity) {}
|
void reportAbuse(I2PSession sesison, int severity) {}
|
||||||
void disconnected(I2PSession session) {
|
void disconnected(I2PSession session) {
|
||||||
println "ERROR: session disconnected, exiting"
|
println "ERROR: session disconnected, exiting"
|
||||||
|
@ -76,9 +79,21 @@ public class HostCache {
|
||||||
try {
|
try {
|
||||||
dissector.loadI2PDatagram(payload)
|
dissector.loadI2PDatagram(payload)
|
||||||
def sender = dissector.getSender()
|
def sender = dissector.getSender()
|
||||||
def query = dissector.getPayload()
|
println "INFO: Received something from ${sender}"
|
||||||
println "INFO: from ${sender.toBase64()} received query ${query}"
|
|
||||||
} catch (DataFormatException dfe) {
|
payload = dissector.getPayload()
|
||||||
|
payload = json.parse(payload)
|
||||||
|
switch(payload.type) {
|
||||||
|
case "Ping" :
|
||||||
|
println "Ping"
|
||||||
|
break
|
||||||
|
case "CrawlerPong":
|
||||||
|
println "CrawlerPong"
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
println "WARN: Unexpected message type ${payload.type}, dropping"
|
||||||
|
}
|
||||||
|
} catch (Exception dfe) {
|
||||||
println "WARN: invalid datagram ${dfe}"
|
println "WARN: invalid datagram ${dfe}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue