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