sdg
Version:
pomelo ts
47 lines (46 loc) • 1.64 kB
TypeScript
import Base from '../base';
import Session from '../common/service/session/session';
import ConnectionService from '../common/service/connectionService';
import { IBlackListFunction, IConnectorComponentOptions, IConnector, IConnectorSocket, IHandlerMsg, IReceiveId, IMsgRsp, IDecoder, IEncoder, IComponent, IScheduleOpts, IRoute, TransformRsp } from '..';
import ServerComponent from './server';
import SessionComponent from './session';
import Application from '../application';
export default class ConnectorComponent extends Base implements IComponent {
server: ServerComponent;
session: SessionComponent;
connection: ConnectionService;
connector: IConnector;
decode?: IDecoder;
encode?: IEncoder;
transformRsp?: TransformRsp;
useHostFilter?: Boolean;
blacklistFun?: IBlackListFunction;
forwardMsg?: Boolean;
useDict: boolean;
useProtobuf: boolean;
blacklist: string[];
constructor(app: Application, opts: IConnectorComponentOptions);
start(): void;
afterStart(): void;
private bindEvents;
/**
* 处理消息事件
* @param session
* @param msg
* @return {Promise<*>}
*/
handleMessage(session: Session, msg: IHandlerMsg): Promise<any>;
/**
* 获取当前连接的session
* @param socket
* @return {*}
*/
getSession(socket: IConnectorSocket): Session;
send(route: IRoute, msgRsp: IMsgRsp, receiveIds: IReceiveId[], opts: IScheduleOpts): void;
private hostFilter;
private doSend;
private getConnector;
private getDefaultConnector;
private checkServerType;
private onSessionClose;
}