class Cadence::Workflow::History::Window

Attributes

events[R]
last_event_id[R]
local_time[R]
markers[R]

Public Class Methods

new() click to toggle source
# File lib/cadence/workflow/history/window.rb, line 7
def initialize
  @local_time = nil
  @last_event_id = nil
  @events = []
  @markers = []
  @replay = false
end

Public Instance Methods

add(event) click to toggle source
# File lib/cadence/workflow/history/window.rb, line 19
def add(event)
  case event.type
  when 'MarkerRecorded'
    markers << event
  when 'DecisionTaskStarted'
    @last_event_id = event.id + 1 # one for completed
    @local_time = event.timestamp
  when 'DecisionTaskFailed', 'DecisionTaskTimedOut'
    @next_event_id = nil
    @local_time = nil
  when 'DecisionTaskCompleted'
    @replay = true
  when 'DecisionTaskScheduled', 'DecisionTaskFailed'
    # no-op
  else
    events << event
  end
end
replay?() click to toggle source
# File lib/cadence/workflow/history/window.rb, line 15
def replay?
  @replay
end