Property | Type | Description | |
---|---|---|---|
DelayHandler |
Property | Type | Description | |
---|---|---|---|
CalculateNextInterval | System.TimeSpan | ||
GetStatusCode | int? | ||
IsRetryable | bool | ||
LogInterval | void | ||
Sender | System | ||
StopAsync | Task |
Method | Description | |
---|---|---|
Dispose ( ) : void |
Disposes the managed objects.
|
Method | Description | |
---|---|---|
Send ( |
Sends a transmission and handle errors.
|
|
SendLoop ( ) : void |
Send transmissions in a loop.
|
Method | Description | |
---|---|---|
CalculateNextInterval ( int httpStatusCode, System.TimeSpan currentSendInterval, System.TimeSpan maxInterval ) : System.TimeSpan |
Calculates the next interval using exponential back-off algorithm (with the exceptions of few error codes that reset the interval to SendingInterval.
|
|
GetStatusCode ( |
Return the status code from the web exception or null if no such code exists.
|
|
IsRetryable ( int httpStatusCode, WebExceptionStatus webExceptionStatus ) : bool |
Returns true if httpStatusCode or webExceptionStatus are retriable.
|
|
LogInterval ( System.TimeSpan prevSendInterval, System.TimeSpan nextSendInterval ) : void |
Log next interval. Only log the interval when it changes by more then a minute. So if interval grow by 1 minute or decreased by 1 minute it will be logged. Logging every interval will just make the log noisy.
|
|
Sender ( BaseStorageService storage, |
Initializes a new instance of the Sender class.
|
|
StopAsync ( ) : Task |
Stops the sender.
|
protected Send ( |
||
transmission | The transmission to send. | |
nextSendInterval | System.TimeSpan | When this value returns it will hold a recommendation for when to start the next sending iteration. |
return | bool |