
Implements a client-server system using TCP connections without TLS encryption, supporting pns URIs for peer identification and interaction.
A client-server implementation which supports pns URIs. The connection is done via a TCP connection (but with no TLS encryption) between client and server.
kotlin {
sourceSets {
commonMain.dependencies {
...
implementation("io.github.remmerw:idun:0.6.5")
}
...
}
}
@Test
fun simpleRequestResponse(): Unit = runBlocking(Dispatchers.IO) {
val storage = newStorage()
val raw = storage.storeText("Moin") // store some text
val server = newIdun()
server.startup(storage = storage)
val addresses = server.publishedAddresses()
checkNotNull(addresses)
println("Publish addresses ${addresses.size}")
// publish your addresses
server.publishAddresses(addresses, 25, 60)
println("Num reservations " + server.numReservations())
assertTrue(server.numReservations() > 0)
val client = newIdun()
val data = client.fetchRaw(server.peerId(), raw.cid)
assertEquals(data.decodeToString(), "Moin")
client.shutdown()
server.shutdown()
storage.delete() // Note: this one deletes all content in the storage
}
A client-server implementation which supports pns URIs. The connection is done via a TCP connection (but with no TLS encryption) between client and server.
kotlin {
sourceSets {
commonMain.dependencies {
...
implementation("io.github.remmerw:idun:0.6.5")
}
...
}
}
@Test
fun simpleRequestResponse(): Unit = runBlocking(Dispatchers.IO) {
val storage = newStorage()
val raw = storage.storeText("Moin") // store some text
val server = newIdun()
server.startup(storage = storage)
val addresses = server.publishedAddresses()
checkNotNull(addresses)
println("Publish addresses ${addresses.size}")
// publish your addresses
server.publishAddresses(addresses, 25, 60)
println("Num reservations " + server.numReservations())
assertTrue(server.numReservations() > 0)
val client = newIdun()
val data = client.fetchRaw(server.peerId(), raw.cid)
assertEquals(data.decodeToString(), "Moin")
client.shutdown()
server.shutdown()
storage.delete() // Note: this one deletes all content in the storage
}