UNPKG

ilp-protocol-ccp

Version:

Implementation of the Connector-to-Connector Protocol (CCP)

72 lines (71 loc) 3.35 kB
/// <reference types="node" /> import { IlpPrepare, IlpFulfill } from 'ilp-packet'; export declare const CCP_CONTROL_DESTINATION = "peer.route.control"; export declare const CCP_UPDATE_DESTINATION = "peer.route.update"; export declare const PEER_PROTOCOL_FULFILLMENT: Buffer; export declare const PEER_PROTOCOL_CONDITION: Buffer; export declare enum Mode { MODE_IDLE = 0, MODE_SYNC = 1 } export declare const ModeReverseMap: string[]; export interface CcpRouteControlRequest { mode: Mode.MODE_IDLE | Mode.MODE_SYNC; lastKnownRoutingTableId: string; lastKnownEpoch: number; features: string[]; } export interface CcpRouteControlResponse { } export declare enum PropId { } export interface CcpRoutePropCommon { isOptional: boolean; isTransitive: boolean; isPartial: boolean; } export interface CcpRoutePropBuffer extends CcpRoutePropCommon { isUtf8: false; id: number; value: Buffer; } export interface CcpRoutePropString extends CcpRoutePropCommon { isUtf8: true; id: number; value: string; } export declare type CcpRouteProp = CcpRoutePropBuffer | CcpRoutePropString; export interface CcpRoute { prefix: string; path: string[]; auth: Buffer; props: CcpRouteProp[]; } export interface CcpRouteUpdateRequest { routingTableId: string; currentEpochIndex: number; fromEpochIndex: number; toEpochIndex: number; holdDownTime: number; speaker: string; newRoutes: CcpRoute[]; withdrawnRoutes: string[]; } export interface CcpRouteUpdateResponse { } declare const deserializeCcpRouteControlRequestPayload: (data: Buffer) => CcpRouteControlRequest; declare const extractCcpRouteControlRequest: (packet: IlpPrepare) => CcpRouteControlRequest; declare const deserializeCcpRouteControlRequest: (request: Buffer) => CcpRouteControlRequest; declare const serializeCcpRouteControlRequestPayload: (request: CcpRouteControlRequest) => Buffer; declare const constructCcpRouteControlRequest: (request: CcpRouteControlRequest) => IlpPrepare; declare const serializeCcpRouteControlRequest: (request: CcpRouteControlRequest) => Buffer; declare const deserializeCcpRouteUpdateRequestPayload: (payload: Buffer) => CcpRouteUpdateRequest; declare const extractCcpRouteUpdateRequest: (packet: IlpPrepare) => CcpRouteUpdateRequest; declare const deserializeCcpRouteUpdateRequest: (request: Buffer) => CcpRouteUpdateRequest; declare const serializeCcpRouteUpdateRequestPayload: (request: CcpRouteUpdateRequest) => Buffer; declare const constructCcpRouteUpdateRequest: (request: CcpRouteUpdateRequest) => IlpPrepare; declare const serializeCcpRouteUpdateRequest: (request: CcpRouteUpdateRequest) => Buffer; declare const deserializeCcpResponse: (response: Buffer) => void; declare const constructCcpResponse: () => IlpFulfill; declare const serializeCcpResponse: () => Buffer; export { deserializeCcpRouteControlRequestPayload, extractCcpRouteControlRequest, deserializeCcpRouteControlRequest, serializeCcpRouteControlRequestPayload, constructCcpRouteControlRequest, serializeCcpRouteControlRequest, deserializeCcpRouteUpdateRequestPayload, extractCcpRouteUpdateRequest, deserializeCcpRouteUpdateRequest, serializeCcpRouteUpdateRequestPayload, constructCcpRouteUpdateRequest, serializeCcpRouteUpdateRequest, deserializeCcpResponse, constructCcpResponse, serializeCcpResponse, };