mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-04-29 22:24:29 +02:00
Fix bugs.
This commit is contained in:
parent
97381739dd
commit
1ae9f0ea26
@ -12,8 +12,10 @@ import kotlin.time.Duration.Companion.milliseconds
|
|||||||
|
|
||||||
class SyncServerTests {
|
class SyncServerTests {
|
||||||
|
|
||||||
private val relayHost = "relay.grayjay.app"
|
//private val relayHost = "relay.grayjay.app"
|
||||||
private val relayKey = "xGbHRzDOvE6plRbQaFgSen82eijF+gxS0yeUaeEErkw="
|
//private val relayKey = "xGbHRzDOvE6plRbQaFgSen82eijF+gxS0yeUaeEErkw="
|
||||||
|
private val relayKey = "XlUaSpIlRaCg0TGzZ7JYmPupgUHDqTZXUUBco2K7ejw="
|
||||||
|
private val relayHost = "192.168.1.175"
|
||||||
private val relayPort = 9000
|
private val relayPort = 9000
|
||||||
|
|
||||||
/** Creates a client connected to the live relay server. */
|
/** Creates a client connected to the live relay server. */
|
||||||
@ -126,7 +128,9 @@ class SyncServerTests {
|
|||||||
|
|
||||||
val tcsDataB = CompletableDeferred<ByteArray>()
|
val tcsDataB = CompletableDeferred<ByteArray>()
|
||||||
channelB.setDataHandler { _, _, o, so, d ->
|
channelB.setDataHandler { _, _, o, so, d ->
|
||||||
if (o == Opcode.DATA.value && so == 0u.toUByte()) tcsDataB.complete(d.array())
|
val b = ByteArray(d.remaining())
|
||||||
|
d.get(b)
|
||||||
|
if (o == Opcode.DATA.value && so == 0u.toUByte()) tcsDataB.complete(b)
|
||||||
}
|
}
|
||||||
channelA.send(Opcode.DATA.value, 0u, ByteBuffer.wrap(maxSizeData))
|
channelA.send(Opcode.DATA.value, 0u, ByteBuffer.wrap(maxSizeData))
|
||||||
val receivedData = withTimeout(5000.milliseconds) { tcsDataB.await() }
|
val receivedData = withTimeout(5000.milliseconds) { tcsDataB.await() }
|
||||||
|
@ -153,7 +153,7 @@ class ChannelRelayed(
|
|||||||
put(encryptedPayload, 0, encryptedLength)
|
put(encryptedPayload, 0, encryptedLength)
|
||||||
}
|
}
|
||||||
|
|
||||||
session.send(Opcode.RELAY.value, RelayOpcode.RELAYED_DATA.value, ByteBuffer.wrap(relayedPacket))
|
session.send(Opcode.RELAY.value, RelayOpcode.DATA.value, ByteBuffer.wrap(relayedPacket).order(ByteOrder.LITTLE_ENDIAN))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -173,7 +173,7 @@ class ChannelRelayed(
|
|||||||
put(encryptedPayload, 0, encryptedLength)
|
put(encryptedPayload, 0, encryptedLength)
|
||||||
}
|
}
|
||||||
|
|
||||||
session.send(Opcode.RELAY.value, RelayOpcode.RELAYED_ERROR.value, ByteBuffer.wrap(relayedPacket))
|
session.send(Opcode.RELAY.value, RelayOpcode.ERROR.value, ByteBuffer.wrap(relayedPacket))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -311,7 +311,7 @@ class ChannelRelayed(
|
|||||||
val decryptedPayload = ByteArray(encryptedBytes.size - 16)
|
val decryptedPayload = ByteArray(encryptedBytes.size - 16)
|
||||||
val plen = transport!!.receiver.decryptWithAd(null, encryptedBytes, 0, decryptedPayload, 0, encryptedBytes.size)
|
val plen = transport!!.receiver.decryptWithAd(null, encryptedBytes, 0, decryptedPayload, 0, encryptedBytes.size)
|
||||||
if (plen != decryptedPayload.size) throw IllegalStateException("Expected decrypted payload length to be $plen")
|
if (plen != decryptedPayload.size) throw IllegalStateException("Expected decrypted payload length to be $plen")
|
||||||
return ByteBuffer.wrap(decryptedPayload)
|
return ByteBuffer.wrap(decryptedPayload).order(ByteOrder.LITTLE_ENDIAN)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -329,7 +329,7 @@ class ChannelRelayed(
|
|||||||
|
|
||||||
fun handleData(data: ByteBuffer) {
|
fun handleData(data: ByteBuffer) {
|
||||||
val size = data.int
|
val size = data.int
|
||||||
if (size != data.remaining() + 2) throw IllegalStateException("Incomplete packet received")
|
if (size != data.remaining()) throw IllegalStateException("Incomplete packet received")
|
||||||
val opcode = data.get().toUByte()
|
val opcode = data.get().toUByte()
|
||||||
val subOpcode = data.get().toUByte()
|
val subOpcode = data.get().toUByte()
|
||||||
invokeDataHandler(opcode, subOpcode, data)
|
invokeDataHandler(opcode, subOpcode, data)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user