Skip to content

Commit d8878a3

Browse files
committed
Implement transferRequestBody
1 parent a0d2fc5 commit d8878a3

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

runtime/crt-util/jvmAndNative/test/aws/smithy/kotlin/runtime/crt/ReadChannelBodyStreamTest.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
package aws.smithy.kotlin.runtime.crt
77

88
import aws.sdk.kotlin.crt.io.MutableBuffer
9-
import aws.smithy.kotlin.runtime.IgnoreNative
109
import aws.smithy.kotlin.runtime.io.SdkBuffer
1110
import aws.smithy.kotlin.runtime.io.SdkByteChannel
1211
import aws.smithy.kotlin.runtime.io.SdkByteReadChannel
@@ -57,7 +56,6 @@ class ReadChannelBodyStreamTest {
5756
}
5857
}
5958

60-
@IgnoreNative // FIXME Need to implement transferRequestBody
6159
@Test
6260
fun testReadFully() = runTest {
6361
val data = byteArrayOf(1, 2, 3, 4, 5)
@@ -73,7 +71,6 @@ class ReadChannelBodyStreamTest {
7371
}
7472
}
7573

76-
@IgnoreNative // FIXME Need to implement transferRequestBody
7774
@Test
7875
fun testPartialRead() = runTest {
7976
val chan = SdkByteReadChannel("123456".encodeToByteArray())
@@ -92,7 +89,6 @@ class ReadChannelBodyStreamTest {
9289
assertEquals("456", sent2.decodeToString())
9390
}
9491

95-
@IgnoreNative // FIXME Need to implement transferRequestBody
9692
@Test
9793
fun testLargeTransfer() = runTest {
9894
val chan = SdkByteChannel()

runtime/crt-util/native/src/aws/smithy/kotlin/runtime/crt/ReadChannelBodyStreamNative.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,8 @@ package aws.smithy.kotlin.runtime.crt
77
import aws.sdk.kotlin.crt.io.MutableBuffer
88
import aws.smithy.kotlin.runtime.io.SdkBuffer
99

10-
internal actual fun transferRequestBody(outgoing: SdkBuffer, dest: MutableBuffer): Int = TODO("Not yet implemented")
10+
internal actual fun transferRequestBody(outgoing: SdkBuffer, dest: MutableBuffer): Int {
11+
val length = minOf(outgoing.size, dest.writeRemaining.toLong())
12+
if (length <= 0) return 0
13+
return dest.write(outgoing.readByteArray(length))
14+
}

0 commit comments

Comments
 (0)