Files
libmc/docs/zh/Assemble-context-zh.md
T
2026-09-08 11:13:37 +08:00

1.0 KiB

组合上下文API

public val CustomProtocolContext: ProtocolContextBuilder.() -> Unit = {
    rsaEncryptor = RSA1024Encryptor { key, data -> ... }
    sha1Hasher = Sha1Hasher { serverId, secretKey, publicKey -> ... }
    cipherFactory = { key -> ... }
    authProvider = AuthenticationProvider { url, accessToken, uuid, serverIdHash -> ... }
    socketEngine = MyCustomTCPSocketImpl()
}

如果使用libmc-protocol-context中的DefaultProtocolContext作为默认上下文实现, 请参阅实现 TCPSocket

修改默认实现

fun main() {
    val myNewProtocolContext = DefaultProtocolContext.withCustom {
        rsaEncryptor = RSA1024Encryptor { key, data -> ... }
        sha1Hasher = Sha1Hasher { serverId, secretKey, publicKey -> ... }
        cipherFactory = { key -> ... }
        authProvider = AuthenticationProvider { url, accessToken, uuid, serverIdHash -> ... }
        socketEngine = MyCustomTCPSocketImpl()
    }
}

使用.withCustom来修改已有的上下文API实现