release 0.2.6: ktor-based async sockets for all native targets

This commit is contained in:
sergeych committed 2024-08-04 02:05:35 +02:00
1 parent ffcdcf7350
commit 439e229294
9 files changed
+141 -423

No files matched your search

+20 -16
View File
@@ -4,24 +4,28 @@ The new generation of __PARanoid SECurity__ protocol, advanced, faster, more sec
block device" transport to the same local interface. Out if the box it
provides the following transports:
| name | JVM | JS | native |
|----------------|-----|----|-------------------|
| TCP/IP server | ✓ | | β @0.2.5-SNAPSHOT |
| TCP/IP client | ✓ | | β @0.2.5-SNAPSHOT |
| Websock server | ✓ | | |
| Websock client | ✓ | ✓ | ✓ |
| name | JVM | JS | native |
|----------------|-----|----|----------|
| TCP/IP server | ✓ | | β @0.2.6 |
| TCP/IP client | ✓ | | β @0.2.6 |
| Websock server | ✓ | | |
| Websock client | ✓ | ✓ | ✓ |
At the moment we're working on supporting TCP/IP on most native targets. This feature is planned to rach public beta in
August and production in early september 2024.
### Supported native targets
- iosArm64, iosX64
- macosArm64, macosArm64
- linxArm64, linuxX64
### Non-native targets
- JS (browser and nodeJS)
- JVM (android, macos, windows, linx, everywhere where JRE is installed)
## TCP/IP transport
It is the fastest. JVM implementation uses nio2 async sockets and optimizes TCP socket to play
well with blocks (smart NO_DELAY mode). It is multiplatform, nut lacks of async TCP/IP support
on natvic targetm this is where I need help having little time. I'd prefer to use something asyn like UV on native
targets.
I know no existing way to implement it in KotlinJS for the modern browsers.
It is the fastest based on async socket implementation of ktor client. It works everywhere but JS target as
there is currently no widely adopted sockets for browser javascript.
## Websock server
@@ -34,7 +38,7 @@ applications to get easy access from anywhere.
# Usage
Th elibrary should be used as maven dependency, not as source.
The library should be used as maven dependency, not as source.
## Adding dependency
@@ -55,7 +59,7 @@ It could be, depending on your project structure, something like:
```kotlin
val commonMain by getting {
dependencies {
api("net.sergeych:kiloparsec:0.2.4")
api("net.sergeych:kiloparsec:0.2.6")
}
}
```