export const PRIVATE_IPC_TIMING_MILLIS = Object.freeze({
ORDINARY_UNARY_ABSOLUTE: 15_000,
INBOX_UNARY_ABSOLUTE: 35_000,
STREAM_OPEN_ABSOLUTE: 15_000,
TLS_HANDSHAKE: 5_000,
HEADERS_AFTER_HANDSHAKE: 5_000,
FIRST_BODY_BYTE: 2_000,
BODY_PROGRESS_IDLE: 2_000,
COMPLETE_BODY_AFTER_HEADERS: 10_000,
IPC_CONNECT_AND_WRITE: 2_000,
DAEMON_RESPONSE_WRITE: 2_000,
EDGE_RESPONSE_FIRST_BYTE: 2_000,
PUBLIC_WRITE_IDLE: 5_000,
READY_PATH_CONNECT: 2_000,
READY_PROBE_ABSOLUTE: 2_000,
READY_ACK_MAX_LIFETIME: 5_000,
READY_ACK_REFRESH_LEAD: 1_000,
INBOX_WATCH_MARGIN: 5_000,
INBOX_DAEMON_RESPONSE_RESERVE: 2_000,
CORS_PREFLIGHT_ABSOLUTE: 5_000,
CHILD_TICKET_TTL: 2_000
})
export const LOCAL_STREAM_OPEN_KIND = Object.freeze({
PUBLIC_CONTENT_CHANNEL: 1,
AUTHORIZED_EGRESS_CHANNEL: 2,
CORE_RAW_CHILD: 3,
LOCAL_NOISE_ENDPOINT: 4
})
export const LOCAL_STREAM_MODE = Object.freeze({
DISPATCH_CONTENT: 1,
OUTER_ENVELOPE_CONTENT: 2,
FORWARD_HOP_CONTENT: 3,
CORE_RAW: 4,
NOISE_ENDPOINT: 5
})
export const LOCAL_STREAM_CONTEXT_KIND = Object.freeze({
AUTHENTICATED_CHANNEL: 1,
ONE_USE_ATTACH: 2
})
export const LOCAL_STREAM_ADJACENT_POLICY = Object.freeze({
OPTIONAL: 1,
REQUIRED: 2,
FORBIDDEN: 3
})
export const LOCAL_STREAM_DIRECTION = Object.freeze({
EDGE_TO_DAEMON: 1,
DAEMON_TO_EDGE: 2
})
export const LOCAL_STREAM_FRAME_KIND = Object.freeze({
CONTENT: 1,
CORE_RAW: 2,
CIPHERTEXT: 3,
CONTROL: 4,
ABORT: 5
})
export const LOCAL_STREAM_FLAG = Object.freeze({ FIN: 0x01 })
export const LOCAL_CIPHERTEXT_PHASE = Object.freeze({
FLIGHT_1: 1,
FLIGHT_2: 2,
FLIGHT_3: 3,
TRANSPORT: 4
})
export const LOCAL_CIPHERTEXT_BYTES = Object.freeze({
FLIGHT_1: 32,
FLIGHT_2: 96,
FLIGHT_3: 64
})
export const LOCAL_STREAM_CONTROL_KIND = Object.freeze({
CHANNEL_ACCEPT: 1,
CHANNEL_REJECT: 2,
ATTACH_TICKET: 3,
EGRESS_DIAL: 4,
EGRESS_RESULT: 5,
CORE_CHILD_OPEN: 6,
NOISE_SESSION_OPEN: 7
})
export const LOCAL_STREAM_CONTROL_BYTES = Object.freeze({
CHANNEL_ACCEPT: 42,
CHANNEL_REJECT: 11,
ATTACH_TICKET: 74,
EGRESS_DIAL: 167,
EGRESS_RESULT_FAILURE: 76,
EGRESS_RESULT_SUCCESS: 108,
CORE_CHILD_OPEN: 82,
NOISE_SESSION_OPEN: 139
})
export const LOCAL_ABORT_CODE = Object.freeze({
PEER_EOF: 1,
BAD_SEQUENCE: 2,
CAP_EXCEEDED: 3,
TIMEOUT: 4,
DRAINING: 5,
TRANSPORT_FAILURE: 6,
INTERNAL_FAILURE: 7
})
export const LOCAL_STREAM_OPEN_COMBINATION = Object.freeze({
PUBLIC_DISPATCH: 1,
PUBLIC_OUTER_ENVELOPE: 2,
AUTHORIZED_EGRESS_FORWARD_HOP: 3,
CORE_RAW_CHILD: 4,
LOCAL_NOISE_ENDPOINT: 5
})
export const LOCAL_STREAM_OPEN_TABLE = Object.freeze([
Object.freeze({
id: LOCAL_STREAM_OPEN_COMBINATION.PUBLIC_DISPATCH,
openKind: LOCAL_STREAM_OPEN_KIND.PUBLIC_CONTENT_CHANNEL,
streamMode: LOCAL_STREAM_MODE.DISPATCH_CONTENT,
classMinimum: 1,
classMaximum: 3,
contextKind: LOCAL_STREAM_CONTEXT_KIND.AUTHENTICATED_CHANNEL,
adjacentPolicy: LOCAL_STREAM_ADJACENT_POLICY.OPTIONAL
}),
Object.freeze({
id: LOCAL_STREAM_OPEN_COMBINATION.PUBLIC_OUTER_ENVELOPE,
openKind: LOCAL_STREAM_OPEN_KIND.PUBLIC_CONTENT_CHANNEL,
streamMode: LOCAL_STREAM_MODE.OUTER_ENVELOPE_CONTENT,
classMinimum: 1,
classMaximum: 3,
contextKind: LOCAL_STREAM_CONTEXT_KIND.AUTHENTICATED_CHANNEL,
adjacentPolicy: LOCAL_STREAM_ADJACENT_POLICY.OPTIONAL
}),
Object.freeze({
id: LOCAL_STREAM_OPEN_COMBINATION.AUTHORIZED_EGRESS_FORWARD_HOP,
openKind: LOCAL_STREAM_OPEN_KIND.AUTHORIZED_EGRESS_CHANNEL,
streamMode: LOCAL_STREAM_MODE.FORWARD_HOP_CONTENT,
classMinimum: 1,
classMaximum: 3,
contextKind: LOCAL_STREAM_CONTEXT_KIND.ONE_USE_ATTACH,
adjacentPolicy: LOCAL_STREAM_ADJACENT_POLICY.REQUIRED
}),
Object.freeze({
id: LOCAL_STREAM_OPEN_COMBINATION.CORE_RAW_CHILD,
openKind: LOCAL_STREAM_OPEN_KIND.CORE_RAW_CHILD,
streamMode: LOCAL_STREAM_MODE.CORE_RAW,
classMinimum: 0,
classMaximum: 0,
contextKind: LOCAL_STREAM_CONTEXT_KIND.ONE_USE_ATTACH,
adjacentPolicy: LOCAL_STREAM_ADJACENT_POLICY.FORBIDDEN
}),
Object.freeze({
id: LOCAL_STREAM_OPEN_COMBINATION.LOCAL_NOISE_ENDPOINT,
openKind: LOCAL_STREAM_OPEN_KIND.LOCAL_NOISE_ENDPOINT,
streamMode: LOCAL_STREAM_MODE.NOISE_ENDPOINT,
classMinimum: 1,
classMaximum: 3,
contextKind: LOCAL_STREAM_CONTEXT_KIND.ONE_USE_ATTACH,
adjacentPolicy: LOCAL_STREAM_ADJACENT_POLICY.FORBIDDEN
})
])
export const PRIVATE_IPC_LIMITS = Object.freeze({
REQUEST_LINE_BYTES: 1_024,
HEADER_FIELD_COUNT: 32,
AGGREGATE_HEADER_BYTES: 16_384,
CONTROL_BODY_BYTES: 16_384,
UNARY_BASE_HEADER_BYTES: 32,
UNARY_ADJACENT_HEADER_BYTES: 64,
UNARY_RESPONSE_HEADER_BYTES: 11,
STREAM_OPEN_BASE_HEADER_BYTES: 33,
STREAM_OPEN_ADJACENT_HEADER_BYTES: 65,
STREAM_FRAME_HEADER_BYTES: 21,
READY_PROBE_BODY_BYTES: 65,
READY_ACK_BODY_BYTES: 120,
AUTHENTICATED_CHANNEL_CONTEXT_BYTES: 225,
ATTACH_CONTEXT_BYTES: 137,
MAX_STREAM_CONTEXT_BYTES: 225,
MAX_STREAM_FRAME_BODY_BYTES: 65_535,
MAX_CORE_RAW_BYTES: 65_535,
STREAM_CONTENT_OVERHEAD_BYTES: 23,
CHILD_TICKET_BYTES: 32,
MAX_PENDING_CHILD_TICKETS: 1_024
})