Changed getWatchedOrders to getStats and returns Stats object

This commit is contained in:
amaurer 2018-10-07 12:24:42 -04:00
parent 9171f9ec60
commit 2e1222556f
4 changed files with 16 additions and 10 deletions

View File

@ -3,7 +3,7 @@
"version": "2.1.2",
"changes": [
{
"note": "Added getWatchCounts function"
"note": "Added getStats function and returns a Stats object"
}
],
"timestamp": 1538836030

View File

@ -57,6 +57,10 @@ interface OrderStateByOrderHash {
[orderHash: string]: OrderState;
}
export interface Stats {
orderCount: number;
}
const DEFAULT_ORDER_WATCHER_CONFIG: OrderWatcherConfig = {
orderExpirationCheckingIntervalMs: 50,
eventPollingIntervalMs: 200,
@ -214,10 +218,12 @@ export class OrderWatcher {
intervalUtils.clearAsyncExcludingInterval(this._cleanupJobIntervalIdIfExists);
}
/**
* Gets number of orderHashes currently being watched by the order watcher instance.
* Gets statistics of the OrderWatcher Instance.
*/
public getWatchCount(): number {
return _.size(this._orderByOrderHash);
public getStats(): Stats {
return {
orderCount : _.size(this._orderByOrderHash),
};
}
private async _cleanupAsync(): Promise<void> {
for (const orderHash of _.keys(this._orderByOrderHash)) {

View File

@ -140,8 +140,8 @@ describe('OrderWatcher', () => {
expect(() => orderWatcher.subscribe(_.noop.bind(_))).to.throw(OrderWatcherError.SubscriptionAlreadyPresent);
});
});
describe('#getWatchCount', async () => {
it('should increment and decrement order counts', async () => {
describe('#getStats', async () => {
it('orderCount should increment and decrement with order additions and removals', async () => {
signedOrder = await fillScenarios.createFillableSignedOrderAsync(
makerAssetData,
takerAssetData,
@ -150,11 +150,11 @@ describe('OrderWatcher', () => {
fillableAmount,
);
const orderHash = orderHashUtils.getOrderHashHex(signedOrder);
expect(orderWatcher.getWatchCount()).to.be.eq(0);
expect(orderWatcher.getStats().orderCount).to.be.eq(0);
await orderWatcher.addOrderAsync(signedOrder);
expect(orderWatcher.getWatchCount()).to.be.eq(1);
expect(orderWatcher.getStats().orderCount).to.be.eq(1);
orderWatcher.removeOrder(orderHash);
expect(orderWatcher.getWatchCount()).to.be.eq(0);
expect(orderWatcher.getStats().orderCount).to.be.eq(0);
});
});
describe('tests with cleanup', async () => {

View File

@ -598,4 +598,4 @@ export interface Metadata {
exportPathOrder: string[];
externalTypeToLink: ExternalTypeToLink;
externalExportToLink: ExternalExportToLink;
}
}