summaryrefslogtreecommitdiff
path: root/js/src/Ice/RetryQueue.js
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2015-02-27 10:17:39 -0330
committerDwayne Boone <dwayne@zeroc.com>2015-02-27 10:17:39 -0330
commit8207fb948b20c4bbe64ee21f2115420d947b0039 (patch)
tree5141cc7ba4d3902c215cf89ad3cbf40dd67e499c /js/src/Ice/RetryQueue.js
parentICE-6185 Fix .NET TraceLogger to trace errors/warnings as proper type (diff)
downloadice-8207fb948b20c4bbe64ee21f2115420d947b0039.tar.bz2
ice-8207fb948b20c4bbe64ee21f2115420d947b0039.tar.xz
ice-8207fb948b20c4bbe64ee21f2115420d947b0039.zip
ICE-5967 add cancelation to Ice.Trace.Retry tracing
Diffstat (limited to 'js/src/Ice/RetryQueue.js')
-rw-r--r--js/src/Ice/RetryQueue.js27
1 files changed, 16 insertions, 11 deletions
diff --git a/js/src/Ice/RetryQueue.js b/js/src/Ice/RetryQueue.js
index 37e3c985a06..3f1f4767e0f 100644
--- a/js/src/Ice/RetryQueue.js
+++ b/js/src/Ice/RetryQueue.js
@@ -24,7 +24,7 @@ var RetryQueue = Class({
{
throw new Ice.CommunicatorDestroyedException();
}
- var task = new RetryTask(this, outAsync);
+ var task = new RetryTask(this._instance, this, outAsync);
outAsync.__cancelable(task); // This will throw if the request is canceled
task.token = this._instance.timer().schedule(function()
{
@@ -40,7 +40,7 @@ var RetryQueue = Class({
this._requests[i].destroy();
}
this._requests = [];
- this._instance = null;
+ this._instance = null;
},
remove: function(task)
{
@@ -64,22 +64,22 @@ var RetryQueue = Class({
Ice.RetryQueue = RetryQueue;
var RetryTask = Class({
- __init__: function(queue, outAsync, interval)
+ __init__: function(instance, queue, outAsync, interval)
{
- this.queue = queue;
- this.outAsync = outAsync;
+ this._instance = instance;
+ this._queue = queue;
+ this._outAsync = outAsync;
},
run: function()
{
- this.outAsync.__retry();
-
- this.queue.remove(this);
+ this._outAsync.__retry();
+ this._queue.remove(this);
},
destroy: function()
{
try
{
- this.outAsync.__abort(new Ice.CommunicatorDestroyedException());
+ this._outAsync.__abort(new Ice.CommunicatorDestroyedException());
}
catch(ex)
{
@@ -88,9 +88,14 @@ var RetryTask = Class({
},
asyncRequestCanceled: function(outAsync, ex)
{
- if(this.queue.cancel(this))
+ if(this._queue.cancel(this))
{
- this.outAsync.__completedEx(ex);
+ if(this._instance.traceLevels().retry >= 1)
+ {
+ this._instance.initializationData().logger.trace(this._instance.traceLevels().retryCat,
+ "operation retry canceled\n" + ex.toString());
+ }
+ this._outAsync.__completedEx(ex);
}
}
});