/*
* Copyright (c) Huawei Technologies Co., Ltd. 2022-2024. All rights resvered.
*/
/**
* @file
* The file declars the BufferedSink interface.
*/
package io4cj
/**
* The interface is BufferedSink inherited from Sink & ToString
* @author liyanqing14
* @since 0.32.5
*/
public interface BufferedSink <: Sink & ToString {
/*
* The Function is buffer
*
* @return Type of Buffer
* @since 0.32.5
*/
@Frozen
func buffer(): Buffer
/*
* The Function is write
*
* @param byteString of ByteString
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func write(byteString: ByteString): BufferedSink
/*
* The Function is write
*
* @param source of Array<Byte>
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func write(source: Array<Byte>): BufferedSink
/*
* The Function is write
*
* @param source of Array<Byte>
* @param offset of Int64
* @param byteCount of Int64
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func write(source: Array<Byte>, offset: Int64, byteCount: Int64): BufferedSink
// func write(source: Buffer): BufferedSink
/*
* The Function is write
*
* @param source of Source
* @param byteCount of Int64
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func write(source: Source, byteCount: Int64): BufferedSink
// func write(source: Buffer, byteCount: Int64): Unit
/*
* The Function is writeAll
*
* @param source of Source
*
* @return Type of Int64
* @since 0.32.5
*/
@Frozen
func writeAll(source: Source): Int64
/*
* The Function is writeUtf8
*
* @param string of String
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func writeUtf8(string: String): BufferedSink
/*
* The Function is writeUtf8
*
* @param string of String
* @param beginIndex of Int64
* @param endIndex of Int64
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func writeUtf8(string: String, beginIndex: Int64, endIndex: Int64): BufferedSink
/*
* The Function is writeUtf8CodePoint
*
* @param codePoInt64 of Int64
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func writeUtf8CodePoint(codePoInt64: Int64): BufferedSink
// func writeString(string: String, charset: Charset): BufferedSink
// func writeString(string: String, beginIndex: Int64, endIndex: Int64, charset: Charset): BufferedSink
/*
* The Function is writeInt8
*
* @param value of Int64
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func writeInt8(value: Int64): BufferedSink
/*
* The Function is writeInt16
*
* @param value of Int64
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func writeInt16(value: Int64): BufferedSink
/*
* The Function is writeInt16Le
*
* @param value of Int64
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func writeInt16Le(value: Int64): BufferedSink
/*
* The Function is writeInt32
*
* @param value of Int64
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func writeInt32(value: Int64): BufferedSink
/*
* The Function is writeInt32Le
*
* @param value of Int64
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func writeInt32Le(value: Int64): BufferedSink
/*
* The Function is writeInt64
*
* @param value of Int64
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func writeInt64(value: Int64): BufferedSink
/*
* The Function is writeInt64Le
*
* @param value of Int64
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func writeInt64Le(value: Int64): BufferedSink
/*
* The Function is emit
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func emit(): BufferedSink
/*
* The Function is emitCompleteSegments
*
* @return Type of BufferedSink
* @since 0.32.5
*/
@Frozen
func emitCompleteSegments(): BufferedSink
// func outputStream(): OutputStream
}