iseki0 / kotlinx-serialization-bencoding

A Kotlin serialization codec used to encode/decode bencoding format.
Apache License 2.0
4 stars 0 forks source link
bencode kotlin-mpp kotlin-multiplatform kotlinx-serialization

kotlinx-serialization-bencode

GitHub Actions Workflow Status Maven Central Version License

A Kotlin serialization codec for bencoding format. (Bittorrent)

Reference: https://www.bittorrent.org/beps/bep_0003.html

Usage

Add the dependency to your build.gradle.kts

dependencies {
  implementation("space.iseki.bencoding:kotlinx-serialization-bencoding:0.2.+")
}
@Serialization
data class Meta(val announce: String) // The torrent file format

fun foo(input: InputStream) {
    println(Bencode.decodeFromStream<Meta>(data.inputStream()))
}

Bencoding Format

The following content is copied from https://www.bittorrent.org/beps/bep_0003.html for a memo.