1 | import { IBetEvent, IBetMatch, IBetRecord, IBetEventState, ISnapshot, PartitionKey } from '@jayesol/jayeson.lib.record';
|
2 | import { IEndPointDispatcher, IEndPointGroupManager } from './dispatch';
|
3 | import { FSRepo } from './core';
|
4 | import { IMessageClass, Subscriber, EPEvent } from '@jayesol/jayeson.lib.delivery';
|
5 | import * as T from 'ts-promise';
|
6 | import { IndexedSnapshot, DeltaOutgoing, Outgoing, IndexedSnapshotImpl } from "./data_structure";
|
7 | import { InEndPointEventHandler, SportsFeedInProcessor } from "./receive";
|
8 | import { SportsFeedMessageGroup } from "./message_class";
|
9 | import 'reflect-metadata';
|
10 | import { RuleCombination } from '@jayesol/jayeson.model';
|
11 | export declare class InsertMatch<M extends IBetMatch> {
|
12 | private _after;
|
13 | private _get;
|
14 | constructor(_after: ISnapshot<IBetMatch>, _get: M[]);
|
15 | after(): ISnapshot<IBetMatch>;
|
16 | get(): M[];
|
17 | }
|
18 | export declare class UpdateMatch<M extends IBetMatch> {
|
19 | private _after;
|
20 | private _get;
|
21 | constructor(_after: ISnapshot<IBetMatch>, _get: M[]);
|
22 | after(): ISnapshot<IBetMatch>;
|
23 | get(): M[];
|
24 | }
|
25 | export declare class DeleteMatch<M extends IBetMatch> {
|
26 | private _after;
|
27 | private _get;
|
28 | constructor(_after: ISnapshot<IBetMatch>, _get: M[]);
|
29 | after(): ISnapshot<IBetMatch>;
|
30 | get(): M[];
|
31 | }
|
32 | export declare class InsertEvent<E extends IBetEvent> {
|
33 | private _after;
|
34 | private _get;
|
35 | constructor(_after: ISnapshot<IBetMatch>, _get: E[]);
|
36 | after(): ISnapshot<IBetMatch>;
|
37 | get(): E[];
|
38 | }
|
39 | export declare class UpdateEvent<E extends IBetEvent> {
|
40 | private _after;
|
41 | private _get;
|
42 | constructor(_after: ISnapshot<IBetMatch>, _get: E[]);
|
43 | after(): ISnapshot<IBetMatch>;
|
44 | get(): E[];
|
45 | }
|
46 | export declare class DeleteEvent<E extends IBetEvent> {
|
47 | private _after;
|
48 | private _get;
|
49 | constructor(_after: ISnapshot<IBetMatch>, _get: E[]);
|
50 | after(): ISnapshot<IBetMatch>;
|
51 | get(): E[];
|
52 | }
|
53 | export declare class InsertOdd<R extends IBetRecord> {
|
54 | private _after;
|
55 | private _get;
|
56 | constructor(_after: ISnapshot<IBetMatch>, _get: R[]);
|
57 | after(): ISnapshot<IBetMatch>;
|
58 | get(): R[];
|
59 | }
|
60 | export declare class UpdateOdd<R extends IBetRecord> {
|
61 | private _after;
|
62 | private _get;
|
63 | constructor(_after: ISnapshot<IBetMatch>, _get: R[]);
|
64 | after(): ISnapshot<IBetMatch>;
|
65 | get(): R[];
|
66 | }
|
67 | export declare class DeleteOdd<R extends IBetRecord> {
|
68 | private _after;
|
69 | private _get;
|
70 | constructor(_after: ISnapshot<IBetMatch>, _get: R[]);
|
71 | after(): ISnapshot<IBetMatch>;
|
72 | get(): R[];
|
73 | }
|
74 | export declare class Reset {
|
75 | private _after;
|
76 | private _get;
|
77 | constructor(_after: ISnapshot<IBetMatch>, _get: PartitionKey[]);
|
78 | after(): ISnapshot<IBetMatch>;
|
79 | get(): PartitionKey[];
|
80 | }
|
81 | export interface DeltaEventHandler<M extends IBetMatch, E extends IBetEvent, R extends IBetRecord> {
|
82 | onInsertMatch(insertMatch: InsertMatch<M>): void;
|
83 | onUpdateMatch(updateMatch: UpdateMatch<M>): void;
|
84 | onDeleteMatch(deleteMatch: DeleteMatch<M>): void;
|
85 | onInsertEvent(insertEvent: InsertEvent<E>): void;
|
86 | onUpdateEvent(updateEvent: UpdateEvent<E>): void;
|
87 | onDeleteEvent(deleteEvent: DeleteEvent<E>): void;
|
88 | onInsertOdd(insertOdd: InsertOdd<R>): void;
|
89 | onUpdateOdd(updateOdd: UpdateOdd<R>): void;
|
90 | onDeleteOdd(deleteOdd: DeleteOdd<R>): void;
|
91 | onReset(resetKeys: Reset): void;
|
92 | onSwitchFilterStart(requestId?: number): void;
|
93 | onSwitchFilterEnd(): void;
|
94 | onFullSnapshotStart(): void;
|
95 | onFullSnapshotEnd(): void;
|
96 | onSwitchFilterFail(requestId?: number): void;
|
97 | }
|
98 | export declare class FeedView<M extends IBetMatch> {
|
99 | private _fsRepo;
|
100 | private _epgm;
|
101 | private _grp;
|
102 | private _handlers;
|
103 | constructor(manager: IEndPointGroupManager, repo: FSRepo, grp: SportsFeedMessageGroup);
|
104 | fsRepo(): FSRepo;
|
105 | epgm(): IEndPointGroupManager;
|
106 | grp(): SportsFeedMessageGroup;
|
107 | snapshot(): IndexedSnapshot;
|
108 | register<E extends IBetEvent, R extends IBetRecord>(listener: DeltaEventHandler<M, E, R>): void;
|
109 | unregister<E extends IBetEvent, R extends IBetRecord>(listener: DeltaEventHandler<M, E, R>): void;
|
110 | private hasHandler;
|
111 | private removeHandler;
|
112 | handlerSize(): number;
|
113 | cleanUp(): void;
|
114 | }
|
115 | export declare class AbstractComparableEPDispatcher implements IEndPointDispatcher {
|
116 | private _stream;
|
117 | id(): string;
|
118 | submit(out: Outgoing): void;
|
119 | onException(e: Error): void;
|
120 | protected _grp: SportsFeedMessageGroup;
|
121 | protected _readyToDispatch: boolean;
|
122 | constructor(_stream: string, _grp: SportsFeedMessageGroup);
|
123 | stream(): string;
|
124 | grp(): SportsFeedMessageGroup;
|
125 | isInitialized(): T.Promise<Boolean>;
|
126 | readyToDispatch(): void;
|
127 | isReadyToDispatch(): boolean;
|
128 | }
|
129 | export declare class MemoryDispatcher extends AbstractComparableEPDispatcher {
|
130 | private _fsRepo;
|
131 | private _handler;
|
132 | static MEMORY_STREAM: string;
|
133 | lastPushedSs: IndexedSnapshotImpl;
|
134 | _id: string;
|
135 | constructor(_fsRepo: FSRepo, _grp: SportsFeedMessageGroup, _handler: DeltaEventHandler<IBetMatch, IBetEvent, IBetRecord>);
|
136 | grp(): SportsFeedMessageGroup;
|
137 | handler(): DeltaEventHandler<IBetMatch, IBetEvent, IBetRecord>;
|
138 | id(): string;
|
139 | submit(out: Outgoing): void;
|
140 | onException(e: Error): void;
|
141 | handleMessage(msg: Outgoing): void;
|
142 | protected pushSwitchFilterStart(requestId: number): void;
|
143 | protected pushSwitchFilterEnd(): void;
|
144 | protected pushFullSnapshotStart(): void;
|
145 | protected pushFullSnapshotEnd(): void;
|
146 | protected pushSwitchFilterFail(requestId: number): void;
|
147 | protected pushInsertMatch(ds: DeltaOutgoing): void;
|
148 | protected pushInsertEvent(ds: DeltaOutgoing): void;
|
149 | protected pushInsertOdd(ds: DeltaOutgoing): void;
|
150 | protected pushUpdateMatch(ds: DeltaOutgoing): void;
|
151 | protected pushUpdateEvent(ds: DeltaOutgoing): void;
|
152 | protected pushUpdateOdd(ds: DeltaOutgoing): void;
|
153 | protected pushDeleteMatch(ds: DeltaOutgoing): void;
|
154 | protected pushDeleteEvent(ds: DeltaOutgoing): void;
|
155 | protected pushDeleteOdd(ds: DeltaOutgoing): void;
|
156 | private pushReset;
|
157 | protected events(matches: IBetMatch[]): IBetEvent[];
|
158 | protected records(events: IBetEvent[]): IBetRecord[];
|
159 | protected states(events: IBetEvent[]): IBetEventState[];
|
160 | isSame(lhs: IMessageClass, rhs: IMessageClass): boolean;
|
161 | isInitialized(): T.Promise<Boolean>;
|
162 | }
|
163 | export declare class SportsFeedClient implements DeltaEventHandler<IBetMatch, IBetEvent, IBetRecord> {
|
164 | private _subscriber;
|
165 | private _eventHandler;
|
166 | private _viewTemplate;
|
167 | private _epgm;
|
168 | private _fsRepo;
|
169 | private _grp;
|
170 | private _views;
|
171 | private filterRequestCounter;
|
172 | private resolverMap;
|
173 | constructor(grp: SportsFeedMessageGroup, fsRepo: FSRepo, epgm: IEndPointGroupManager, subscriber: Subscriber, eventHandler: InEndPointEventHandler, inProcessor: SportsFeedInProcessor);
|
174 | subscriber(): Subscriber;
|
175 | epgm(): IEndPointGroupManager;
|
176 | InEndPointEventHandler(): InEndPointEventHandler;
|
177 | fsRepo(): FSRepo;
|
178 | grp(): SportsFeedMessageGroup;
|
179 | eventHandler(): InEndPointEventHandler;
|
180 | eventListener(event: EPEvent): void;
|
181 | configureEventHandler(eventHandler: InEndPointEventHandler): void;
|
182 | setUpStreamFilter(filterData: RuleCombination): T.Promise<Boolean>;
|
183 | getSubscriber(): Subscriber;
|
184 | start(): void;
|
185 | view<M extends IBetMatch>(): FeedView<M>;
|
186 | removeView<M extends IBetMatch>(view: FeedView<M>): void;
|
187 | onSwitchFilterFail(requestId: number): void;
|
188 | onSwitchFilterStart(requestId: number): void;
|
189 | onInsertMatch(insertMatch: InsertMatch<IBetMatch>): void;
|
190 | onUpdateMatch(updateMatch: UpdateMatch<IBetMatch>): void;
|
191 | onDeleteMatch(deleteMatch: DeleteMatch<IBetMatch>): void;
|
192 | onInsertEvent(insertEvent: InsertEvent<IBetEvent>): void;
|
193 | onUpdateEvent(updateEvent: UpdateEvent<IBetEvent>): void;
|
194 | onDeleteEvent(deleteEvent: DeleteEvent<IBetEvent>): void;
|
195 | onInsertOdd(insertOdd: InsertOdd<IBetRecord>): void;
|
196 | onUpdateOdd(updateOdd: UpdateOdd<IBetRecord>): void;
|
197 | onDeleteOdd(deleteOdd: DeleteOdd<IBetRecord>): void;
|
198 | onReset(resetKeys: Reset): void;
|
199 | onSwitchFilterEnd(): void;
|
200 | onFullSnapshotStart(): void;
|
201 | onFullSnapshotEnd(): void;
|
202 | }
|