import { EndPoint } from './EndPoint' ; import { DuplexIndicatorProxy } from '../indicator/DuplexIndicatorProxy' ; export abstract class DuplexEndPoint extends EndPoint { param data param reply param client protected registerIndicator ( data , reply , client ) { if ( this . group !== data . group ) { return ; } let indicatorProxy = new DuplexIndicatorProxy ( client ) ; indicatorProxy . buildIndicator ( data ) ; indicatorProxy . buildUplink ( this . processReporter . bind ( this ) ) ; indicatorProxy . bindRemove ( this . removeClient . bind ( this ) ) ; this . indicators . push ( indicatorProxy ) ; } abstract processReporter ( data , reply ? ) ; }