Class: Events::EvictionCompleted

Inherits:
Object
  • Object
show all
Defined in:
lib/events/eviction_completed.rb

Overview

Emitted after Mneme advances the boundary past an eviction zone. Subscribers broadcast the cutoff to connected clients so they can drop messages below it.

Constant Summary collapse

TYPE =
"eviction.completed"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(session_id:, evict_above_id:) ⇒ EvictionCompleted

Returns a new instance of EvictionCompleted.

Parameters:

  • session_id (Integer)

    the session whose boundary advanced

  • evict_above_id (Integer)

    last message ID in the evicted zone; clients drop all messages with id <= this value



15
16
17
18
# File 'lib/events/eviction_completed.rb', line 15

def initialize(session_id:, evict_above_id:)
  @session_id = session_id
  @evict_above_id = evict_above_id
end

Instance Attribute Details

#evict_above_idObject (readonly)

Returns the value of attribute evict_above_id.



10
11
12
# File 'lib/events/eviction_completed.rb', line 10

def evict_above_id
  @evict_above_id
end

#session_idObject (readonly)

Returns the value of attribute session_id.



10
11
12
# File 'lib/events/eviction_completed.rb', line 10

def session_id
  @session_id
end

Instance Method Details

#event_nameObject



20
21
22
# File 'lib/events/eviction_completed.rb', line 20

def event_name
  "#{Bus::NAMESPACE}.#{TYPE}"
end

#to_hObject



24
25
26
# File 'lib/events/eviction_completed.rb', line 24

def to_h
  {type: TYPE, session_id:, evict_above_id:}
end