Class: FiberAudit::Static::Rules::IOSelect

Inherits:
Base
  • Object
show all
Defined in:
lib/fiber_audit/static/rules/io_select.rb

Overview

FA1005: Detects explicit IO.select scheduler-capability requirements. Advisory rule with :medium default.

Constant Summary collapse

TITLE =
'Explicit IO.select call'
CATEGORY =
:blocking_io
MESSAGE =
'IO.select requires scheduler io_select support when used from a non-blocking Fiber.'
REMEDIATION =
'Verify the selected scheduler implements io_select and confirm runtime progress under load.'
TARGETS =
OperationVocabulary::FA1005_TARGETS

Constants inherited from Base

Base::CONTEXT_CEILING

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

confidence, default_confidence, default_severity, description, id, #initialize, severity

Constructor Details

This class inherits a constructor from FiberAudit::Static::Rules::Base

Class Method Details

.categoryObject



30
# File 'lib/fiber_audit/static/rules/io_select.rb', line 30

def category = CATEGORY

.titleObject



29
# File 'lib/fiber_audit/static/rules/io_select.rb', line 29

def title = TITLE

Instance Method Details

#analyze(call_sites:) ⇒ Object



33
34
35
# File 'lib/fiber_audit/static/rules/io_select.rb', line 33

def analyze(call_sites:)
  call_sites.filter_map { |site| match(site) }
end