You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The API aimed to facilitate integration
with other frameworks and libraries.
Implemented API was initially described in the "Bulk API" subsection of
#135 (comment)
Copy file name to clipboardExpand all lines: core/api/kotlinx-io-core.api
+44Lines changed: 44 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,12 @@
1
1
public final class kotlinx/io/Buffer : kotlinx/io/Sink, kotlinx/io/Source {
2
+
public final fun #int#getHead ()Lkotlinx/io/Segment;
3
+
public final fun #int#getSize ()J
4
+
public final fun #int#getTail ()Lkotlinx/io/Segment;
5
+
public final fun #int#recycleTail ()V
6
+
public final fun #int#setHead (Lkotlinx/io/Segment;)V
7
+
public final fun #int#setSize (J)V
8
+
public final fun #int#setTail (Lkotlinx/io/Segment;)V
9
+
public final fun #int#writableSegment (I)Lkotlinx/io/Segment;
2
10
public fun <init> ()V
3
11
public final fun clear ()V
4
12
public fun close ()V
@@ -92,6 +100,24 @@ public abstract interface class kotlinx/io/RawSource : java/lang/AutoCloseable {
92
100
public abstract fun readAtMostTo (Lkotlinx/io/Buffer;J)J
93
101
}
94
102
103
+
public final class kotlinx/io/Segment {
104
+
public final fun #int#dataAsByteArray (Z)[B
105
+
public final fun #int#dataWriteBack ([BI)V
106
+
public final fun #int#getLimit ()I
107
+
public final fun #int#getNext ()Lkotlinx/io/Segment;
108
+
public final fun #int#getPos ()I
109
+
public final fun #int#remainingCapacity ()I
110
+
public final fun #int#setLimit (I)V
111
+
public final fun #int#setNext (Lkotlinx/io/Segment;)V
112
+
public final fun #int#setPos (I)V
113
+
public final fun #int#size ()I
114
+
public synthetic fun <init> ([BIIZZLkotlin/jvm/internal/DefaultConstructorMarker;)V
115
+
}
116
+
117
+
public final class kotlinx/io/SegmentKt {
118
+
public static final fun isEmpty (Lkotlinx/io/Segment;)Z
119
+
}
120
+
95
121
public abstract interface class kotlinx/io/Sink : kotlinx/io/RawSink {
96
122
public abstract fun emit ()V
97
123
public abstract fun flush ()V
@@ -186,6 +212,9 @@ public final class kotlinx/io/SourcesKt {
186
212
public static final fun startsWith (Lkotlinx/io/Source;B)Z
187
213
}
188
214
215
+
public abstract interface annotation class kotlinx/io/UnsafeIoApi : java/lang/annotation/Annotation {
216
+
}
217
+
189
218
public final class kotlinx/io/Utf8Kt {
190
219
public static final fun readCodePointValue (Lkotlinx/io/Source;)I
191
220
public static final fun readLine (Lkotlinx/io/Source;)Ljava/lang/String;
@@ -253,3 +282,18 @@ public final class kotlinx/io/files/PathsKt {
253
282
public static final fun sourceDeprecated (Lkotlinx/io/files/Path;)Lkotlinx/io/Source;
254
283
}
255
284
285
+
public final class kotlinx/io/unsafe/UnsafeBufferOperations {
286
+
public static final field INSTANCE Lkotlinx/io/unsafe/UnsafeBufferOperations;
287
+
public static final field maxSafeWriteCapacity I
288
+
public final fun moveToTail (Lkotlinx/io/Buffer;[BII)V
289
+
public static synthetic fun moveToTail$default (Lkotlinx/io/unsafe/UnsafeBufferOperations;Lkotlinx/io/Buffer;[BIIILjava/lang/Object;)V
290
+
public final fun readFromHead (Lkotlinx/io/Buffer;Lkotlin/jvm/functions/Function3;)V
291
+
public final fun writeToTail (Lkotlinx/io/Buffer;ILkotlin/jvm/functions/Function3;)V
292
+
}
293
+
294
+
public final class kotlinx/io/unsafe/UnsafeBufferOperationsJvmKt {
295
+
public static final fun readBulk (Lkotlinx/io/unsafe/UnsafeBufferOperations;Lkotlinx/io/Buffer;[Ljava/nio/ByteBuffer;Lkotlin/jvm/functions/Function2;)V
296
+
public static final fun readFromHead (Lkotlinx/io/unsafe/UnsafeBufferOperations;Lkotlinx/io/Buffer;Lkotlin/jvm/functions/Function1;)V
297
+
public static final fun writeToTail (Lkotlinx/io/unsafe/UnsafeBufferOperations;Lkotlinx/io/Buffer;ILkotlin/jvm/functions/Function1;)V
Copy file name to clipboardExpand all lines: core/api/kotlinx-io-core.klib.api
+40-1Lines changed: 40 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -55,12 +55,14 @@ final class kotlinx.io/Buffer : kotlinx.io/Sink, kotlinx.io/Source { // kotlinx.
55
55
final fun readLong(): kotlin/Long // kotlinx.io/Buffer.readLong|readLong(){}[0]
56
56
final fun readShort(): kotlin/Short // kotlinx.io/Buffer.readShort|readShort(){}[0]
57
57
final fun readTo(kotlinx.io/RawSink, kotlin/Long) // kotlinx.io/Buffer.readTo|readTo(kotlinx.io.RawSink;kotlin.Long){}[0]
58
+
final fun recycleTail() // kotlinx.io/Buffer.recycleTail|recycleTail(){}[0]
58
59
final fun request(kotlin/Long): kotlin/Boolean // kotlinx.io/Buffer.request|request(kotlin.Long){}[0]
59
60
final fun require(kotlin/Long) // kotlinx.io/Buffer.require|require(kotlin.Long){}[0]
60
61
final fun skip(kotlin/Long) // kotlinx.io/Buffer.skip|skip(kotlin.Long){}[0]
61
62
final fun toString(): kotlin/String // kotlinx.io/Buffer.toString|toString(){}[0]
62
63
final fun transferFrom(kotlinx.io/RawSource): kotlin/Long // kotlinx.io/Buffer.transferFrom|transferFrom(kotlinx.io.RawSource){}[0]
63
64
final fun transferTo(kotlinx.io/RawSink): kotlin/Long // kotlinx.io/Buffer.transferTo|transferTo(kotlinx.io.RawSink){}[0]
65
+
final fun writableSegment(kotlin/Int): kotlinx.io/Segment // kotlinx.io/Buffer.writableSegment|writableSegment(kotlin.Int){}[0]
64
66
final fun write(kotlin/ByteArray, kotlin/Int, kotlin/Int) // kotlinx.io/Buffer.write|write(kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0]
65
67
final fun write(kotlinx.io/Buffer, kotlin/Long) // kotlinx.io/Buffer.write|write(kotlinx.io.Buffer;kotlin.Long){}[0]
66
68
final fun write(kotlinx.io/RawSource, kotlin/Long) // kotlinx.io/Buffer.write|write(kotlinx.io.RawSource;kotlin.Long){}[0]
@@ -70,8 +72,34 @@ final class kotlinx.io/Buffer : kotlinx.io/Sink, kotlinx.io/Source { // kotlinx.
70
72
final fun writeShort(kotlin/Short) // kotlinx.io/Buffer.writeShort|writeShort(kotlin.Short){}[0]
71
73
final val buffer // kotlinx.io/Buffer.buffer|{}buffer[0]
72
74
final fun <get-buffer>(): kotlinx.io/Buffer // kotlinx.io/Buffer.buffer.<get-buffer>|<get-buffer>(){}[0]
73
-
final var size // kotlinx.io/Buffer.size|{}size[0]
75
+
final val size // kotlinx.io/Buffer.size|{}size[0]
74
76
final fun <get-size>(): kotlin/Long // kotlinx.io/Buffer.size.<get-size>|<get-size>(){}[0]
77
+
final var head // kotlinx.io/Buffer.head|{}head[0]
78
+
final fun <get-head>(): kotlinx.io/Segment? // kotlinx.io/Buffer.head.<get-head>|<get-head>(){}[0]
79
+
final fun <set-head>(kotlinx.io/Segment?) // kotlinx.io/Buffer.head.<set-head>|<set-head>(kotlinx.io.Segment?){}[0]
80
+
final var sizeMut // kotlinx.io/Buffer.sizeMut|<get-sizeMut>(){}[0]
81
+
final fun <get-sizeMut>(): kotlin/Long // kotlinx.io/Buffer.sizeMut.<get-sizeMut>|<get-sizeMut>(){}[0]
82
+
final fun <set-sizeMut>(kotlin/Long) // kotlinx.io/Buffer.sizeMut.<set-sizeMut>|<set-sizeMut>(kotlin.Long){}[0]
83
+
final var tail // kotlinx.io/Buffer.tail|{}tail[0]
84
+
final fun <get-tail>(): kotlinx.io/Segment? // kotlinx.io/Buffer.tail.<get-tail>|<get-tail>(){}[0]
85
+
final fun <set-tail>(kotlinx.io/Segment?) // kotlinx.io/Buffer.tail.<set-tail>|<set-tail>(kotlinx.io.Segment?){}[0]
86
+
}
87
+
final class kotlinx.io/Segment { // kotlinx.io/Segment|null[0]
88
+
final fun dataAsByteArray(kotlin/Boolean): kotlin/ByteArray // kotlinx.io/Segment.dataAsByteArray|dataAsByteArray(kotlin.Boolean){}[0]
89
+
final fun writeBackData(kotlin/ByteArray, kotlin/Int) // kotlinx.io/Segment.writeBackData|writeBackData(kotlin.ByteArray;kotlin.Int){}[0]
90
+
final val remainingCapacity // kotlinx.io/Segment.remainingCapacity|{}remainingCapacity[0]
91
+
final fun <get-remainingCapacity>(): kotlin/Int // kotlinx.io/Segment.remainingCapacity.<get-remainingCapacity>|<get-remainingCapacity>(){}[0]
92
+
final val size // kotlinx.io/Segment.size|{}size[0]
93
+
final fun <get-size>(): kotlin/Int // kotlinx.io/Segment.size.<get-size>|<get-size>(){}[0]
94
+
final var limit // kotlinx.io/Segment.limit|{}limit[0]
95
+
final fun <get-limit>(): kotlin/Int // kotlinx.io/Segment.limit.<get-limit>|<get-limit>(){}[0]
96
+
final fun <set-limit>(kotlin/Int) // kotlinx.io/Segment.limit.<set-limit>|<set-limit>(kotlin.Int){}[0]
97
+
final var next // kotlinx.io/Segment.next|{}next[0]
98
+
final fun <get-next>(): kotlinx.io/Segment? // kotlinx.io/Segment.next.<get-next>|<get-next>(){}[0]
99
+
final fun <set-next>(kotlinx.io/Segment?) // kotlinx.io/Segment.next.<set-next>|<set-next>(kotlinx.io.Segment?){}[0]
100
+
final var pos // kotlinx.io/Segment.pos|{}pos[0]
101
+
final fun <get-pos>(): kotlin/Int // kotlinx.io/Segment.pos.<get-pos>|<get-pos>(){}[0]
102
+
final fun <set-pos>(kotlin/Int) // kotlinx.io/Segment.pos.<set-pos>|<set-pos>(kotlin.Int){}[0]
75
103
}
76
104
final fun (kotlinx.io.files/Path).kotlinx.io.files/sink(): kotlinx.io/Sink // kotlinx.io.files/sink|[email protected](){}[0]
77
105
final fun (kotlinx.io.files/Path).kotlinx.io.files/source(): kotlinx.io/Source // kotlinx.io.files/source|[email protected](){}[0]
@@ -81,6 +109,7 @@ final fun (kotlinx.io/Buffer).kotlinx.io/readString(): kotlin/String // kotlinx.
81
109
final fun (kotlinx.io/Buffer).kotlinx.io/snapshot(): kotlinx.io.bytestring/ByteString // kotlinx.io/snapshot|[email protected](){}[0]
82
110
final fun (kotlinx.io/RawSink).kotlinx.io/buffered(): kotlinx.io/Sink // kotlinx.io/buffered|[email protected](){}[0]
83
111
final fun (kotlinx.io/RawSource).kotlinx.io/buffered(): kotlinx.io/Source // kotlinx.io/buffered|[email protected](){}[0]
112
+
final fun (kotlinx.io/Segment).kotlinx.io/isEmpty(): kotlin/Boolean // kotlinx.io/isEmpty|[email protected](){}[0]
84
113
final fun (kotlinx.io/Sink).kotlinx.io/write(kotlinx.io.bytestring/ByteString, kotlin/Int =..., kotlin/Int =...) // kotlinx.io/write|[email protected](kotlinx.io.bytestring.ByteString;kotlin.Int;kotlin.Int){}[0]
85
114
final fun (kotlinx.io/Sink).kotlinx.io/writeCodePointValue(kotlin/Int) // kotlinx.io/writeCodePointValue|[email protected](kotlin.Int){}[0]
86
115
final fun (kotlinx.io/Sink).kotlinx.io/writeDecimalLong(kotlin/Long) // kotlinx.io/writeDecimalLong|[email protected](kotlin.Long){}[0]
@@ -135,6 +164,13 @@ final fun kotlinx.io.files/Path(kotlin/String, kotlin/Array<out kotlin/String>..
135
164
final fun kotlinx.io.files/Path(kotlinx.io.files/Path, kotlin/Array<out kotlin/String>...): kotlinx.io.files/Path // kotlinx.io.files/Path|Path(kotlinx.io.files.Path;kotlin.Array<out|kotlin.String>...){}[0]
136
165
final fun kotlinx.io/discardingSink(): kotlinx.io/RawSink // kotlinx.io/discardingSink|discardingSink(){}[0]
137
166
final inline fun (kotlinx.io/Sink).kotlinx.io/writeToInternalBuffer(kotlin/Function1<kotlinx.io/Buffer, kotlin/Unit>) // kotlinx.io/writeToInternalBuffer|[email protected](kotlin.Function1<kotlinx.io.Buffer,kotlin.Unit>){}[0]
167
+
final object kotlinx.io.unsafe/UnsafeBufferOperations { // kotlinx.io.unsafe/UnsafeBufferOperations|null[0]
168
+
final const val maxSafeWriteCapacity // kotlinx.io.unsafe/UnsafeBufferOperations.maxSafeWriteCapacity|{}maxSafeWriteCapacity[0]
169
+
final fun <get-maxSafeWriteCapacity>(): kotlin/Int // kotlinx.io.unsafe/UnsafeBufferOperations.maxSafeWriteCapacity.<get-maxSafeWriteCapacity>|<get-maxSafeWriteCapacity>(){}[0]
170
+
final fun moveToTail(kotlinx.io/Buffer, kotlin/ByteArray, kotlin/Int =..., kotlin/Int =...) // kotlinx.io.unsafe/UnsafeBufferOperations.moveToTail|moveToTail(kotlinx.io.Buffer;kotlin.ByteArray;kotlin.Int;kotlin.Int){}[0]
171
+
final inline fun readFromHead(kotlinx.io/Buffer, kotlin/Function3<kotlin/ByteArray, kotlin/Int, kotlin/Int, kotlin/Int>) // kotlinx.io.unsafe/UnsafeBufferOperations.readFromHead|readFromHead(kotlinx.io.Buffer;kotlin.Function3<kotlin.ByteArray,kotlin.Int,kotlin.Int,kotlin.Int>){}[0]
172
+
final inline fun writeToTail(kotlinx.io/Buffer, kotlin/Int, kotlin/Function3<kotlin/ByteArray, kotlin/Int, kotlin/Int, kotlin/Int>) // kotlinx.io.unsafe/UnsafeBufferOperations.writeToTail|writeToTail(kotlinx.io.Buffer;kotlin.Int;kotlin.Function3<kotlin.ByteArray,kotlin.Int,kotlin.Int,kotlin.Int>){}[0]
173
+
}
138
174
final val kotlinx.io.files/SystemFileSystem // kotlinx.io.files/SystemFileSystem|{}SystemFileSystem[0]
139
175
final fun <get-SystemFileSystem>(): kotlinx.io.files/FileSystem // kotlinx.io.files/SystemFileSystem.<get-SystemFileSystem>|<get-SystemFileSystem>(){}[0]
140
176
final val kotlinx.io.files/SystemPathSeparator // kotlinx.io.files/SystemPathSeparator|<get-SystemPathSeparator>(){}[0]
@@ -147,6 +183,9 @@ open annotation class kotlinx.io/DelicateIoApi : kotlin/Annotation { // kotlinx.
147
183
open annotation class kotlinx.io/InternalIoApi : kotlin/Annotation { // kotlinx.io/InternalIoApi|null[0]
0 commit comments