UNPKG

node-universe

Version:

基于 Nodejs 环境的一款微服务框架,原理来自于宇宙中的恒星,行星,卫星等系统。

38 lines (37 loc) 1.58 kB
import Registry from '../registry'; import Star from '../../../lib/star'; import { GenericObject } from '../../../typings'; import { LoggerInstance } from '../../../typings/logger'; import Endpoint from './item'; import BaseStrategy from '../../../lib/strategies/base'; import Node from '../node'; import EventEndpoint from './event'; import ActionEndpoint from './action'; import Context from '../../../lib/context'; import ServiceItem from '../service-item'; export default class EndpointList { registry: Registry; star: Star; logger: LoggerInstance | null; name: string; group: string | null; internal: boolean; EndPointFactory: typeof Endpoint | typeof EventEndpoint | typeof ActionEndpoint; endpoints: Endpoint[]; localEndpoints: Endpoint[]; strategy: any; constructor(registry: Registry, star: Star, name: string, group: string | null, EndPointFactory: typeof Endpoint | typeof EventEndpoint | typeof ActionEndpoint, StrategyFactory: typeof BaseStrategy, strategyOptions?: GenericObject); add(node: Node, service: ServiceItem, data: any): Endpoint; setLocalEndpoints(): void; getFirst(): Endpoint | null; select(list: Endpoint[], ctx?: Context): Endpoint; next(ctx: Context): Endpoint | null; hasLocal(): boolean; nextLocal(ctx?: Context): Endpoint | null; hasAvailable(): boolean; count(): number; getEndpointByNodeID(nodeID: string): Endpoint | null; hasNodeID(nodeID: string): boolean; removeByService(service: ServiceItem): void; removeByNodeID(nodeID: string): void; }