Class: NFAgent::Chunk
- Inherits:
-
Object
- Object
- NFAgent::Chunk
- Defined in:
- lib/nfagent/chunk.rb
Instance Attribute Summary collapse
-
#created_at ⇒ Object
readonly
Returns the value of attribute created_at.
Instance Method Summary collapse
- #<<(line) ⇒ Object
- #clear ⇒ Object
- #dump ⇒ Object
- #expired? ⇒ Boolean
- #full? ⇒ Boolean
-
#initialize(max_size = 500) ⇒ Chunk
constructor
A new instance of Chunk.
- #submit_to_server ⇒ Object
Constructor Details
Instance Attribute Details
#created_at ⇒ Object (readonly)
Returns the value of attribute created_at.
6 7 8 |
# File 'lib/nfagent/chunk.rb', line 6 def created_at @created_at end |
Instance Method Details
#<<(line) ⇒ Object
17 18 19 |
# File 'lib/nfagent/chunk.rb', line 17 def <<(line) @array << line end |
#clear ⇒ Object
37 38 39 |
# File 'lib/nfagent/chunk.rb', line 37 def clear @array.clear end |
#dump ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/nfagent/chunk.rb', line 29 def dump puts @array.join("\n") payload = Encoder.encode64url(Zlib::Deflate.deflate(@array.join("\n"), Zlib::BEST_COMPRESSION)) checksum = Digest::SHA1.hexdigest(payload) Log.info "Submitting chunk to server (#{checksum})" [ payload, checksum ] end |
#expired? ⇒ Boolean
25 26 27 |
# File 'lib/nfagent/chunk.rb', line 25 def expired? (Time.now - @created_at > ::DEFAULT_TIME_OUT) && !@array.empty? end |
#full? ⇒ Boolean
21 22 23 |
# File 'lib/nfagent/chunk.rb', line 21 def full? @array.size >= @max_size end |
#submit_to_server ⇒ Object
41 42 43 44 |
# File 'lib/nfagent/chunk.rb', line 41 def submit_to_server payload, checksum = dump @submitter.submit(payload, checksum) end |