diff -r 4cab5edc2950 -r 5d043a159d5c src/hotspot/share/jfr/recorder/repository/jfrChunkWriter.hpp --- a/src/hotspot/share/jfr/recorder/repository/jfrChunkWriter.hpp Fri May 17 15:53:21 2019 +0200 +++ b/src/hotspot/share/jfr/recorder/repository/jfrChunkWriter.hpp Fri May 17 16:02:27 2019 +0200 @@ -29,28 +29,34 @@ #include "jfr/writers/jfrStreamWriterHost.inline.hpp" #include "jfr/writers/jfrWriterHost.inline.hpp" -typedef MallocAdapter JfrStreamBuffer; // 1 mb buffered writes -typedef StreamWriterHost JfrBufferedStreamWriter; -typedef WriterHost JfrChunkWriterBase; +typedef MallocAdapter JfrChunkBuffer; // 1 mb buffered writes +typedef StreamWriterHost JfrBufferedChunkWriter; +typedef WriterHost JfrChunkWriterBase; -class JfrChunkState; +class JfrChunk; +class JfrChunkHeadWriter; class JfrChunkWriter : public JfrChunkWriterBase { + friend class JfrChunkHeadWriter; friend class JfrRepository; private: - JfrChunkState* _chunkstate; - + JfrChunk* _chunk; + void set_path(const char* path); + int64_t flushpoint(bool finalize); bool open(); - size_t close(int64_t metadata_offset); - void write_header(int64_t metadata_offset); - void set_chunk_path(const char* chunk_path); + int64_t close(); + int64_t current_chunk_start_nanos() const; public: JfrChunkWriter(); - bool initialize(); + ~JfrChunkWriter(); + int64_t size_written() const; - int64_t previous_checkpoint_offset() const; - void set_previous_checkpoint_offset(int64_t offset); + int64_t last_checkpoint_offset() const; + void set_last_checkpoint_offset(int64_t offset); + void set_last_metadata_offset(int64_t offset); + bool is_initial_flushpoint_for_chunk() const; + bool has_metadata() const; void time_stamp_chunk_now(); };