Class: NewRelic::Security::Agent::Control::IASTClient

Inherits:
Object
  • Object
show all
Defined in:
lib/newrelic_security/agent/control/iast_client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeIASTClient

Returns a new instance of IASTClient.



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/newrelic_security/agent/control/iast_client.rb', line 28

def initialize
  @http = nil
  @stub = nil
  @fuzzQ = ::SizedQueue.new(FUZZQ_QUEUE_SIZE)
  @cooldown_till_timestamp = current_time_millis
  @last_fuzz_cc_timestamp = current_time_millis
  @pending_request_ids = ::Set.new
  @completed_requests = {}
  create_dequeue_threads
  create_iast_data_transfer_request_processor
end

Instance Attribute Details

#completed_requestsObject

Returns the value of attribute completed_requests.



26
27
28
# File 'lib/newrelic_security/agent/control/iast_client.rb', line 26

def completed_requests
  @completed_requests
end

#cooldown_till_timestampObject

Returns the value of attribute cooldown_till_timestamp.



26
27
28
# File 'lib/newrelic_security/agent/control/iast_client.rb', line 26

def cooldown_till_timestamp
  @cooldown_till_timestamp
end

#fuzzQObject (readonly)

Returns the value of attribute fuzzQ.



25
26
27
# File 'lib/newrelic_security/agent/control/iast_client.rb', line 25

def fuzzQ
  @fuzzQ
end

#iast_data_transfer_request_processor_threadObject

Returns the value of attribute iast_data_transfer_request_processor_thread.



26
27
28
# File 'lib/newrelic_security/agent/control/iast_client.rb', line 26

def iast_data_transfer_request_processor_thread
  @iast_data_transfer_request_processor_thread
end

#iast_dequeue_threadsObject (readonly)

Returns the value of attribute iast_dequeue_threads.



25
26
27
# File 'lib/newrelic_security/agent/control/iast_client.rb', line 25

def iast_dequeue_threads
  @iast_dequeue_threads
end

#last_fuzz_cc_timestampObject

Returns the value of attribute last_fuzz_cc_timestamp.



26
27
28
# File 'lib/newrelic_security/agent/control/iast_client.rb', line 26

def last_fuzz_cc_timestamp
  @last_fuzz_cc_timestamp
end

#pending_request_idsObject

Returns the value of attribute pending_request_ids.



26
27
28
# File 'lib/newrelic_security/agent/control/iast_client.rb', line 26

def pending_request_ids
  @pending_request_ids
end

Instance Method Details

#enqueue(message) ⇒ Object



40
41
42
43
44
# File 'lib/newrelic_security/agent/control/iast_client.rb', line 40

def enqueue(message)
  @fuzzQ.push(message)
rescue ThreadError => error
  NewRelic::Security::Agent.logger.error "Exception in event enqueue, #{error.inspect}, Dropping fuzz request"
end