From 88a1cd929ac8bca22baf0cc8716c42807349b9f3 Mon Sep 17 00:00:00 2001 From: spalger Date: Thu, 19 Nov 2015 14:05:58 -0600 Subject: [PATCH] [courier/requestQueue] fix get(), added getStartable() get() implies that it will get all pending requests that match a strategy, but it is actually filtering by wether a require is startable. Added getStartable() to accomplish that task and get() now returns all requests that match a strategy. --- src/ui/public/courier/_request_queue.js | 9 ++++++--- src/ui/public/courier/data_source/_abstract.js | 2 +- src/ui/public/courier/fetch/fetch.js | 2 +- src/ui/public/courier/fetch/request/segmented.js | 1 - 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/ui/public/courier/_request_queue.js b/src/ui/public/courier/_request_queue.js index ca8ce4ad793b..e6dcf78957c6 100644 --- a/src/ui/public/courier/_request_queue.js +++ b/src/ui/public/courier/_request_queue.js @@ -16,8 +16,11 @@ define(function (require) { }); }; - queue.get = function (/* strategies.. */) { - var strategies = _.toArray(arguments); + queue.getStartable = function (...strategies) { + return queue.get(...strategies).filter(req => req.canStart()); + }; + + queue.get = function (...strategies) { return queue.filter(function (req) { var strategyMatch = !strategies.length; if (!strategyMatch) { @@ -26,7 +29,7 @@ define(function (require) { }); } - return strategyMatch && req.canStart(); + return strategyMatch; }); }; diff --git a/src/ui/public/courier/data_source/_abstract.js b/src/ui/public/courier/data_source/_abstract.js index 0099c3d2bd33..a4f3b80fe237 100644 --- a/src/ui/public/courier/data_source/_abstract.js +++ b/src/ui/public/courier/data_source/_abstract.js @@ -203,7 +203,7 @@ define(function (require) { *****/ SourceAbstract.prototype._myQueued = function () { - var reqs = requestQueue.get(this._fetchStrategy); + var reqs = requestQueue.getStartable(this._fetchStrategy); return _.where(reqs, { source: this }); }; diff --git a/src/ui/public/courier/fetch/fetch.js b/src/ui/public/courier/fetch/fetch.js index 03ce8199aa43..adf1871bb425 100644 --- a/src/ui/public/courier/fetch/fetch.js +++ b/src/ui/public/courier/fetch/fetch.js @@ -9,7 +9,7 @@ define(function (require) { var INCOMPLETE = Private(require('ui/courier/fetch/_req_status')).INCOMPLETE; function fetchQueued(strategy) { - var requests = requestQueue.get(strategy); + var requests = requestQueue.getStartable(strategy); if (!requests.length) return Promise.resolve(); else return fetchThese(requests); } diff --git a/src/ui/public/courier/fetch/request/segmented.js b/src/ui/public/courier/fetch/request/segmented.js index 8289c16d1b97..a2291b3b99c6 100644 --- a/src/ui/public/courier/fetch/request/segmented.js +++ b/src/ui/public/courier/fetch/request/segmented.js @@ -2,7 +2,6 @@ define(function (require) { return function CourierSegmentedReqProvider(es, Private, Promise, Notifier, timefilter, config) { var _ = require('lodash'); var SearchReq = Private(require('ui/courier/fetch/request/search')); - var requestQueue = Private(require('ui/courier/_request_queue')); var SegmentedHandle = Private(require('ui/courier/fetch/request/_segmented_handle')); var notify = new Notifier({