Rename
This commit is contained in:
@@ -14,7 +14,7 @@ const DEFAULT_ORDER_EXPIRATION_CHECKING_INTERVAL_MS = 50;
|
||||
* It stores them in a min heap by expiration time and checks for expired ones every `orderExpirationCheckingIntervalMs`
|
||||
*/
|
||||
export class ExpirationWatcher {
|
||||
private orderHashRBTreeByExpiration: RBTree<string>;
|
||||
private orderHashByExpirationRBTree: RBTree<string>;
|
||||
private expiration: {[orderHash: string]: BigNumber} = {};
|
||||
private orderExpirationCheckingIntervalMs: number;
|
||||
private expirationMarginMs: number;
|
||||
@@ -27,7 +27,7 @@ export class ExpirationWatcher {
|
||||
DEFAULT_ORDER_EXPIRATION_CHECKING_INTERVAL_MS;
|
||||
const scoreFunction = (orderHash: string) => this.expiration[orderHash].toNumber();
|
||||
const comparator = (lhs: string, rhs: string) => scoreFunction(lhs) - scoreFunction(rhs);
|
||||
this.orderHashRBTreeByExpiration = new RBTree(comparator);
|
||||
this.orderHashByExpirationRBTree = new RBTree(comparator);
|
||||
}
|
||||
public subscribe(callback: (orderHash: string) => void): void {
|
||||
if (!_.isUndefined(this.orderExpirationCheckingIntervalIdIfExists)) {
|
||||
@@ -46,22 +46,22 @@ export class ExpirationWatcher {
|
||||
}
|
||||
public addOrder(orderHash: string, expirationUnixTimestampMs: BigNumber): void {
|
||||
this.expiration[orderHash] = expirationUnixTimestampMs;
|
||||
this.orderHashRBTreeByExpiration.insert(orderHash);
|
||||
this.orderHashByExpirationRBTree.insert(orderHash);
|
||||
}
|
||||
public removeOrder(orderHash: string): void {
|
||||
this.orderHashRBTreeByExpiration.remove(orderHash);
|
||||
this.orderHashByExpirationRBTree.remove(orderHash);
|
||||
delete this.expiration[orderHash];
|
||||
}
|
||||
private pruneExpiredOrders(callback: (orderHash: string) => void): void {
|
||||
const currentUnixTimestampMs = utils.getCurrentUnixTimestampMs();
|
||||
while (
|
||||
this.orderHashRBTreeByExpiration.size !== 0 &&
|
||||
this.expiration[this.orderHashRBTreeByExpiration.min()].lessThan(
|
||||
this.orderHashByExpirationRBTree.size !== 0 &&
|
||||
this.expiration[this.orderHashByExpirationRBTree.min()].lessThan(
|
||||
currentUnixTimestampMs.plus(this.expirationMarginMs),
|
||||
)
|
||||
) {
|
||||
const orderHash = this.orderHashRBTreeByExpiration.min();
|
||||
this.orderHashRBTreeByExpiration.remove(orderHash);
|
||||
const orderHash = this.orderHashByExpirationRBTree.min();
|
||||
this.orderHashByExpirationRBTree.remove(orderHash);
|
||||
delete this.expiration[orderHash];
|
||||
callback(orderHash);
|
||||
}
|
||||
|
Reference in New Issue
Block a user