Class: ContentData::DynamicContentData

Inherits:
Object
  • Object
show all
Defined in:
lib/content_data/dynamic_content_data.rb

Overview

TODO(kolman): When content data is immutable, remove the clones (waste).

Instance Method Summary collapse

Constructor Details

#initializeDynamicContentData

Returns a new instance of DynamicContentData.



7
8
9
10
# File 'lib/content_data/dynamic_content_data.rb', line 7

def initialize()
  @last_content_data = nil
  @last_content_data_available_mutex = Mutex.new
end

Instance Method Details

#exists?(checksum) ⇒ Boolean

Returns:



20
21
22
23
24
25
26
27
# File 'lib/content_data/dynamic_content_data.rb', line 20

def exists?(checksum)
  ref = nil
  @last_content_data_available_mutex.synchronize {
    ref = @last_content_data
  }
  return ref.content_exists(checksum) if ref != nil
  false
end

#last_content_dataObject



29
30
31
32
33
34
35
# File 'lib/content_data/dynamic_content_data.rb', line 29

def last_content_data
  ref = nil
  @last_content_data_available_mutex.synchronize {
    ref = @last_content_data
  }
  return ContentData.new(ref)
end

#update(content_data) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/content_data/dynamic_content_data.rb', line 12

def update(content_data)
  ref = ContentData.new(content_data)
  @last_content_data_available_mutex.synchronize {
    @last_content_data = ref
    Log.debug2("updating last content data:#{@last_content_data}\n")
  }
end