-
Notifications
You must be signed in to change notification settings - Fork 1.2k
/
-JvmPlatform.kt
43 lines (30 loc) · 1.49 KB
/
-JvmPlatform.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*
* Copyright (C) 2018 Square, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package okio
import java.util.concurrent.locks.ReentrantLock
import kotlin.concurrent.withLock as jvmWithLock
internal actual fun ByteArray.toUtf8String(): String = String(this, Charsets.UTF_8)
internal actual fun String.asUtf8ToByteArray(): ByteArray = toByteArray(Charsets.UTF_8)
// TODO remove if https://youtrack.jetbrains.com/issue/KT-20641 provides a better solution
actual typealias ArrayIndexOutOfBoundsException = java.lang.ArrayIndexOutOfBoundsException
actual typealias Lock = ReentrantLock
internal actual fun newLock(): Lock = ReentrantLock()
actual inline fun <T> Lock.withLock(action: () -> T): T = jvmWithLock(action)
actual typealias IOException = java.io.IOException
actual typealias ProtocolException = java.net.ProtocolException
actual typealias EOFException = java.io.EOFException
actual typealias FileNotFoundException = java.io.FileNotFoundException
actual typealias Closeable = java.io.Closeable