perf: expand gateway capacity and prevent receipt replay
This commit is contained in:
@@ -41,6 +41,10 @@ type ChannelConfig struct {
|
||||
WindowSize int `json:"windowSize,omitempty"`
|
||||
HeartbeatIntervalSeconds int `json:"heartbeatIntervalSeconds,omitempty"`
|
||||
HeartbeatMissThreshold int `json:"heartbeatMissThreshold,omitempty"`
|
||||
ConnectionWarmupSeconds int `json:"connectionWarmupSeconds,omitempty"`
|
||||
ConnectionDrainSeconds int `json:"connectionDrainTimeoutSeconds,omitempty"`
|
||||
SubmitTimeoutSeconds int `json:"submitResponseTimeoutSeconds,omitempty"`
|
||||
FailureCooldownSeconds int `json:"connectionFailureCooldownSeconds,omitempty"`
|
||||
}
|
||||
|
||||
type DisconnectChannelCommand struct {
|
||||
@@ -351,6 +355,10 @@ func (s Server) connectChannel(ctx context.Context, command ConnectChannelComman
|
||||
WindowSize: command.Channel.WindowSize,
|
||||
HeartbeatIntervalSeconds: command.Channel.HeartbeatIntervalSeconds,
|
||||
HeartbeatMissThreshold: command.Channel.HeartbeatMissThreshold,
|
||||
ConnectionWarmupSeconds: command.Channel.ConnectionWarmupSeconds,
|
||||
ConnectionDrainSeconds: command.Channel.ConnectionDrainSeconds,
|
||||
SubmitTimeoutSeconds: command.Channel.SubmitTimeoutSeconds,
|
||||
FailureCooldownSeconds: command.Channel.FailureCooldownSeconds,
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
@@ -411,6 +419,12 @@ func validateConnectChannelCommand(command ConnectChannelCommand) error {
|
||||
if command.Channel.Account == "" || command.Channel.PasswordCipher == "" {
|
||||
return fmt.Errorf("account and passwordCipher are required")
|
||||
}
|
||||
if command.DesiredConnections < 1 || command.DesiredConnections > 8 {
|
||||
return fmt.Errorf("desiredConnections must be between 1 and 8")
|
||||
}
|
||||
if command.Channel.WindowSize != 0 && (command.Channel.WindowSize < 1 || command.Channel.WindowSize > 64) {
|
||||
return fmt.Errorf("windowSize must be between 1 and 64")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user