Module: Turbo::Replay::Message

Extended by:
Message
Included in:
Message
Defined in:
lib/turbo/replay/message.rb

Instance Method Summary collapse

Instance Method Details

#get_after_sequence_number(broadcasting:, sequence_number:) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/turbo/replay/message.rb', line 9

def get_after_sequence_number(broadcasting:, sequence_number:)
  return [] if sequence_number.nil?

  messages =
    Turbo::Replay.configuration.repo
      .get_all_messages(broadcasting: broadcasting)
      .sort_by(&BySequenceNumber)

  return :unrecoverable if IsUnrecoverable.call(sequence_number, messages)

  messages.filter(&AfterSequenceNumber[sequence_number])
end

#get_current_sequence_number(broadcasting:) ⇒ Object



5
6
7
# File 'lib/turbo/replay/message.rb', line 5

def get_current_sequence_number(broadcasting:)
  Turbo::Replay.configuration.repo.get_current_sequence_number(broadcasting: broadcasting)
end

#insert(broadcasting:, content:) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/turbo/replay/message.rb', line 22

def insert(broadcasting:, content:)
  Turbo::Replay.configuration.repo.insert_message(
    broadcasting: broadcasting,
    content: content,
    retention: Turbo::Replay.configuration.retention
  )
end