Sha256: 1b3528f13a3c22aa2f3994c3331d233d5046ec9251a8e825f7786400e383afd5
Contents?: true
Size: 1.75 KB
Versions: 3
Compression:
Stored size: 1.75 KB
Contents
# Copyright (c) 2022 Contrast Security, Inc. See https://www.contrastsecurity.com/enduser-terms-0317a for more details. # frozen_string_literal: true module Contrast module Api module Communication # Keeps track of the state of connections to TeamServer. class ConnectionStatus def initialize @last_success = nil @last_failure = nil @startup_messages_sent = false @_startup_server_message_sent = false end # Whether we have sent startup message to TeamServer. True after successfully sending startup messages to # TeamServer and reset to false if we lose connection. # # @return [Boolean] def startup_messages_sent? @startup_messages_sent end # Check to see if we have sent server message and received settings from TS. # # @return [Boolean] def startup_server_message_sent? @_startup_server_message_sent end # Set the server message status state # # @return [Boolean] def server_response_success! @_startup_server_message_sent = true end # The last message sent was successful or not # # @return [Boolean] def connected? @last_success && (@last_failure.nil? || @last_success > @last_failure) end # The current state of the TeamServer is active with a successful message sent def success! @startup_messages_sent = true @last_success = Time.now.to_f end # The TeamServer may be in some sort of error state def failure! @startup_messages_sent = false @last_failure = Time.now.to_f end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems