PingInterval -> KeepAliveInterval (#2384)

This commit is contained in:
Dylan Dmitri Gray 2018-05-25 15:15:38 -07:00 committed by GitHub
parent e3835b3c94
commit f0f1df9b4a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 12 deletions

View File

@ -48,7 +48,7 @@ export class HubConnection {
* The default value is 15,000 milliseconds (15 seconds). * The default value is 15,000 milliseconds (15 seconds).
* Allows the server to detect hard disconnects (like when a client unplugs their computer). * Allows the server to detect hard disconnects (like when a client unplugs their computer).
*/ */
public pingIntervalInMilliseconds: number; public keepAliveIntervalInMilliseconds: number;
/** @internal */ /** @internal */
// Using a public static factory method means we can have a private constructor and an _internal_ // Using a public static factory method means we can have a private constructor and an _internal_
@ -65,7 +65,7 @@ export class HubConnection {
Arg.isRequired(protocol, "protocol"); Arg.isRequired(protocol, "protocol");
this.serverTimeoutInMilliseconds = DEFAULT_TIMEOUT_IN_MS; this.serverTimeoutInMilliseconds = DEFAULT_TIMEOUT_IN_MS;
this.pingIntervalInMilliseconds = DEFAULT_PING_INTERVAL_IN_MS; this.keepAliveIntervalInMilliseconds = DEFAULT_PING_INTERVAL_IN_MS;
this.logger = logger; this.logger = logger;
this.protocol = protocol; this.protocol = protocol;
@ -114,7 +114,7 @@ export class HubConnection {
// defensively cleanup timeout in case we receive a message from the server before we finish start // defensively cleanup timeout in case we receive a message from the server before we finish start
this.cleanupTimeout(); this.cleanupTimeout();
this.resetTimeoutPeriod(); this.resetTimeoutPeriod();
this.resetPingInterval(); this.resetKeepAliveInterval();
this.connectionState = HubConnectionState.Connected; this.connectionState = HubConnectionState.Connected;
} }
@ -179,7 +179,7 @@ export class HubConnection {
} }
private sendMessage(message: any) { private sendMessage(message: any) {
this.resetPingInterval(); this.resetKeepAliveInterval();
return this.connection.send(message); return this.connection.send(message);
} }
@ -386,9 +386,9 @@ export class HubConnection {
return remainingData; return remainingData;
} }
private resetPingInterval() { private resetKeepAliveInterval() {
this.cleanupPingTimer(); this.cleanupPingTimer();
this.pingServerHandle = setTimeout(() => this.sendMessage(this.cachedPingMessage), this.pingIntervalInMilliseconds); this.pingServerHandle = setTimeout(() => this.sendMessage(this.cachedPingMessage), this.keepAliveIntervalInMilliseconds);
} }
private resetTimeoutPeriod() { private resetTimeoutPeriod() {

View File

@ -53,11 +53,11 @@ describe("HubConnection", () => {
const connection = new TestConnection(); const connection = new TestConnection();
const hubConnection = createHubConnection(connection); const hubConnection = createHubConnection(connection);
hubConnection.pingIntervalInMilliseconds = 5; hubConnection.keepAliveIntervalInMilliseconds = 5;
try { try {
await hubConnection.start(); await hubConnection.start();
await delay(32); await delay(500);
const numPings = connection.sentData.filter((s) => JSON.parse(s).type === MessageType.Ping).length; const numPings = connection.sentData.filter((s) => JSON.parse(s).type === MessageType.Ping).length;
expect(numPings).toBeGreaterThanOrEqual(2); expect(numPings).toBeGreaterThanOrEqual(2);

View File

@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.SignalR.Client
{ {
public static readonly TimeSpan DefaultServerTimeout = TimeSpan.FromSeconds(30); // Server ping rate is 15 sec, this is 2 times that. public static readonly TimeSpan DefaultServerTimeout = TimeSpan.FromSeconds(30); // Server ping rate is 15 sec, this is 2 times that.
public static readonly TimeSpan DefaultHandshakeTimeout = TimeSpan.FromSeconds(15); public static readonly TimeSpan DefaultHandshakeTimeout = TimeSpan.FromSeconds(15);
public static readonly TimeSpan DefaultPingInterval = TimeSpan.FromSeconds(15); public static readonly TimeSpan DefaultKeepAliveInterval = TimeSpan.FromSeconds(15);
// This lock protects the connection state. // This lock protects the connection state.
private readonly SemaphoreSlim _connectionLock = new SemaphoreSlim(1, 1); private readonly SemaphoreSlim _connectionLock = new SemaphoreSlim(1, 1);
@ -71,7 +71,7 @@ namespace Microsoft.AspNetCore.SignalR.Client
/// <remarks> /// <remarks>
/// Sending any message resets the timer to the start of the interval. /// Sending any message resets the timer to the start of the interval.
/// </remarks> /// </remarks>
public TimeSpan PingInterval { get; set; } = DefaultPingInterval; public TimeSpan KeepAliveInterval { get; set; } = DefaultKeepAliveInterval;
/// <summary> /// <summary>
/// Gets or sets the timeout for the initial handshake. /// Gets or sets the timeout for the initial handshake.
@ -846,7 +846,7 @@ namespace Microsoft.AspNetCore.SignalR.Client
public void ResetSendPing() public void ResetSendPing()
{ {
Volatile.Write(ref _nextActivationSendPing, (DateTime.UtcNow + PingInterval).Ticks); Volatile.Write(ref _nextActivationSendPing, (DateTime.UtcNow + KeepAliveInterval).Ticks);
} }
public void ResetTimeout() public void ResetTimeout()

View File

@ -574,7 +574,7 @@ namespace Microsoft.AspNetCore.SignalR.Client.Tests
var hubConnection = CreateHubConnection(connection); var hubConnection = CreateHubConnection(connection);
hubConnection.TickRate = TimeSpan.FromMilliseconds(30); hubConnection.TickRate = TimeSpan.FromMilliseconds(30);
hubConnection.PingInterval = TimeSpan.FromMilliseconds(80); hubConnection.KeepAliveInterval = TimeSpan.FromMilliseconds(80);
try try
{ {