@tsonic/dotnet
Version:
TypeScript type definitions for .NET 10 BCL (Base Class Library)
303 lines (232 loc) • 11.5 kB
TypeScript
// Generated by tsbindgen - Architecture
// Namespace: System.Net.Quic
// Assembly: System.Net.Quic
// Branded primitive types are sourced from @tsonic/types
import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/types';
// Import types from other namespaces
import type { List_1 } from "../../System.Collections.Generic/internal/index.js";
import type { IDictionary } from "../../System.Collections/internal/index.js";
import * as System_IO_Internal from "../../System.IO/internal/index.js";
import type { IOException, SeekOrigin, Stream } from "../../System.IO/internal/index.js";
import type { SslApplicationProtocol, SslClientAuthenticationOptions, SslClientHelloInfo, SslServerAuthenticationOptions, TlsCipherSuite } from "../../System.Net.Security/internal/index.js";
import type { EndPoint, IPEndPoint } from "../../System.Net/internal/index.js";
import type { MethodBase } from "../../System.Reflection/internal/index.js";
import * as System_Runtime_Serialization_Internal from "../../System.Runtime.Serialization/internal/index.js";
import type { ISerializable, SerializationInfo, StreamingContext } from "../../System.Runtime.Serialization/internal/index.js";
import type { SslProtocols } from "../../System.Security.Authentication/internal/index.js";
import type { X509Certificate } from "../../System.Security.Cryptography.X509Certificates/internal/index.js";
import type { Task, Task_1, ValueTask, ValueTask_1 } from "../../System.Threading.Tasks/internal/index.js";
import type { CancellationToken } from "../../System.Threading/internal/index.js";
import * as System_Internal from "../../System/internal/index.js";
import type { Action_2, AsyncCallback, Boolean as ClrBoolean, Byte, Enum, Exception, Func_4, IAsyncDisposable, IAsyncResult, IComparable, IConvertible, IDisposable, IFormatProvider, IFormattable, Int32, Int64, ISpanFormattable, Memory_1, Nullable_1, Object as ClrObject, ReadOnlyMemory_1, ReadOnlySpan_1, Span_1, String as ClrString, TimeSpan, Type, TypeCode, ValueType, Void } from "../../System/internal/index.js";
// CLROf<T> - Maps ergonomic primitives to their CLR types for generic constraints
// This utility is used ONLY in generic type arguments to satisfy CLR interface constraints
// Value positions (parameters, return types) use lowercase primitives for ergonomics
export type CLROf<T> =
T extends sbyte ? System_Internal.SByte :
T extends short ? System_Internal.Int16 :
T extends int ? System_Internal.Int32 :
T extends long ? System_Internal.Int64 :
T extends int128 ? System_Internal.Int128 :
T extends nint ? System_Internal.IntPtr :
T extends byte ? System_Internal.Byte :
T extends ushort ? System_Internal.UInt16 :
T extends uint ? System_Internal.UInt32 :
T extends ulong ? System_Internal.UInt64 :
T extends uint128 ? System_Internal.UInt128 :
T extends nuint ? System_Internal.UIntPtr :
T extends half ? System_Internal.Half :
T extends float ? System_Internal.Single :
T extends double ? System_Internal.Double :
T extends decimal ? System_Internal.Decimal :
T extends char ? System_Internal.Char :
T extends boolean ? System_Internal.Boolean :
T extends string ? System_Internal.String :
T; // Identity fallback for non-primitive types
export enum QuicAbortDirection {
read = 1,
write = 2,
both = 3
}
export enum QuicError {
success = 0,
internalError = 1,
connectionAborted = 2,
streamAborted = 3,
connectionTimeout = 6,
connectionRefused = 8,
versionNegotiationError = 9,
connectionIdle = 10,
operationAborted = 12,
alpnInUse = 13,
transportError = 14,
callbackError = 15
}
export enum QuicStreamType {
unidirectional = 0,
bidirectional = 1
}
export interface QuicStreamCapacityChangedArgs$instance {
bidirectionalIncrement: int;
unidirectionalIncrement: int;
}
export const QuicStreamCapacityChangedArgs: {
new(): QuicStreamCapacityChangedArgs$instance;
};
export type QuicStreamCapacityChangedArgs = QuicStreamCapacityChangedArgs$instance;
export interface QuicClientConnectionOptions$instance extends QuicConnectionOptions {
clientAuthenticationOptions: SslClientAuthenticationOptions;
localEndPoint: IPEndPoint;
remoteEndPoint: EndPoint;
}
export const QuicClientConnectionOptions: {
new(): QuicClientConnectionOptions$instance;
};
export type QuicClientConnectionOptions = QuicClientConnectionOptions$instance;
export interface QuicConnection$instance {
readonly localEndPoint: IPEndPoint;
readonly negotiatedApplicationProtocol: SslApplicationProtocol;
readonly negotiatedCipherSuite: TlsCipherSuite;
readonly remoteCertificate: X509Certificate;
readonly remoteEndPoint: IPEndPoint;
readonly sslProtocol: SslProtocols;
readonly targetHostName: string;
acceptInboundStreamAsync(cancellationToken?: CancellationToken): ValueTask_1<QuicStream>;
closeAsync(errorCode: long, cancellationToken?: CancellationToken): ValueTask;
disposeAsync(): ValueTask;
openOutboundStreamAsync(type_: QuicStreamType, cancellationToken?: CancellationToken): ValueTask_1<QuicStream>;
toString(): string;
}
export const QuicConnection: {
new(): QuicConnection$instance;
readonly isSupported: boolean;
connectAsync(options: QuicClientConnectionOptions, cancellationToken?: CancellationToken): ValueTask_1<QuicConnection>;
};
export interface __QuicConnection$views {
As_IAsyncDisposable(): System_Internal.IAsyncDisposable$instance;
}
export interface QuicConnection$instance extends System_Internal.IAsyncDisposable$instance {}
export type QuicConnection = QuicConnection$instance & __QuicConnection$views;
export interface QuicConnectionOptions$instance {
defaultCloseErrorCode: long;
defaultStreamErrorCode: long;
handshakeTimeout: TimeSpan;
idleTimeout: TimeSpan;
initialReceiveWindowSizes: QuicReceiveWindowSizes;
keepAliveInterval: TimeSpan;
maxInboundBidirectionalStreams: int;
maxInboundUnidirectionalStreams: int;
streamCapacityCallback: Action_2<QuicConnection, QuicStreamCapacityChangedArgs>;
}
export const QuicConnectionOptions: {
};
export type QuicConnectionOptions = QuicConnectionOptions$instance;
export interface QuicException$instance extends IOException {
readonly applicationErrorCode: Nullable_1<CLROf<long>>;
readonly quicError: QuicError;
readonly transportErrorCode: Nullable_1<CLROf<long>>;
getObjectData(info: SerializationInfo, context: StreamingContext): void;
}
export const QuicException: {
new(error: QuicError, applicationErrorCode: Nullable_1<CLROf<long>>, message: string): QuicException$instance;
};
export interface __QuicException$views {
As_ISerializable(): System_Runtime_Serialization_Internal.ISerializable$instance;
}
export type QuicException = QuicException$instance & __QuicException$views;
export interface QuicListener$instance {
readonly localEndPoint: IPEndPoint;
acceptConnectionAsync(cancellationToken?: CancellationToken): ValueTask_1<QuicConnection>;
disposeAsync(): ValueTask;
toString(): string;
}
export const QuicListener: {
new(): QuicListener$instance;
readonly isSupported: boolean;
listenAsync(options: QuicListenerOptions, cancellationToken?: CancellationToken): ValueTask_1<QuicListener>;
};
export interface __QuicListener$views {
As_IAsyncDisposable(): System_Internal.IAsyncDisposable$instance;
}
export interface QuicListener$instance extends System_Internal.IAsyncDisposable$instance {}
export type QuicListener = QuicListener$instance & __QuicListener$views;
export interface QuicListenerOptions$instance {
applicationProtocols: List_1<SslApplicationProtocol>;
connectionOptionsCallback: Func_4<QuicConnection, SslClientHelloInfo, CancellationToken, ValueTask_1<QuicServerConnectionOptions>>;
listenBacklog: int;
listenEndPoint: IPEndPoint;
}
export const QuicListenerOptions: {
new(): QuicListenerOptions$instance;
};
export type QuicListenerOptions = QuicListenerOptions$instance;
export interface QuicReceiveWindowSizes$instance {
connection: int;
locallyInitiatedBidirectionalStream: int;
remotelyInitiatedBidirectionalStream: int;
unidirectionalStream: int;
}
export const QuicReceiveWindowSizes: {
new(): QuicReceiveWindowSizes$instance;
};
export type QuicReceiveWindowSizes = QuicReceiveWindowSizes$instance;
export interface QuicServerConnectionOptions$instance extends QuicConnectionOptions {
serverAuthenticationOptions: SslServerAuthenticationOptions;
}
export const QuicServerConnectionOptions: {
new(): QuicServerConnectionOptions$instance;
};
export type QuicServerConnectionOptions = QuicServerConnectionOptions$instance;
export interface QuicStream$instance extends Stream {
readonly canRead: boolean;
readonly canSeek: boolean;
readonly canTimeout: boolean;
readonly canWrite: boolean;
readonly id: long;
readonly length: long;
position: long;
readonly readsClosed: Task;
readTimeout: int;
readonly type_: QuicStreamType;
readonly writesClosed: Task;
writeTimeout: int;
abort(abortDirection: QuicAbortDirection, errorCode: long): void;
beginRead(buffer: byte[], offset: int, count: int, callback: AsyncCallback, state: unknown): IAsyncResult;
beginWrite(buffer: byte[], offset: int, count: int, callback: AsyncCallback, state: unknown): IAsyncResult;
completeWrites(): void;
dispose(): void;
disposeAsync(): ValueTask;
endRead(asyncResult: IAsyncResult): int;
endWrite(asyncResult: IAsyncResult): void;
flush(): void;
flushAsync(cancellationToken?: CancellationToken): Task;
flushAsync(): Task;
read(buffer: byte[], offset: int, count: int): int;
read(buffer: Span_1<CLROf<byte>>): int;
read(buffer: Span_1<CLROf<byte>>): int;
readAsync(buffer: Memory_1<CLROf<byte>>, cancellationToken?: CancellationToken): ValueTask_1<CLROf<int>>;
readAsync(buffer: byte[], offset: int, count: int, cancellationToken?: CancellationToken): Task_1<CLROf<int>>;
readAsync(buffer: byte[], offset: int, count: int): Task_1<CLROf<int>>;
readAsync(buffer: byte[], offset: int, count: int, cancellationToken: CancellationToken): Task_1<CLROf<int>>;
readAsync(buffer: Memory_1<CLROf<byte>>, cancellationToken?: CancellationToken): ValueTask_1<CLROf<int>>;
readByte(): int;
seek(offset: long, origin: SeekOrigin): long;
setLength(value: long): void;
toString(): string;
write(buffer: byte[], offset: int, count: int): void;
write(buffer: ReadOnlySpan_1<CLROf<byte>>): void;
write(buffer: ReadOnlySpan_1<CLROf<byte>>): void;
writeAsync(buffer: ReadOnlyMemory_1<CLROf<byte>>, cancellationToken?: CancellationToken): ValueTask;
writeAsync(buffer: byte[], offset: int, count: int, cancellationToken?: CancellationToken): Task;
writeAsync(buffer: byte[], offset: int, count: int): Task;
writeAsync(buffer: ReadOnlyMemory_1<CLROf<byte>>, cancellationToken?: CancellationToken): ValueTask;
writeByte(value: byte): void;
}
export const QuicStream: {
new(): QuicStream$instance;
};
export interface __QuicStream$views {
As_IAsyncDisposable(): System_Internal.IAsyncDisposable$instance;
As_IDisposable(): System_Internal.IDisposable$instance;
}
export type QuicStream = QuicStream$instance & __QuicStream$views;