diff -r 2c3cc4b01880 -r c16ac7a2eba4 src/hotspot/share/jfr/recorder/repository/jfrChunkWriter.hpp --- a/src/hotspot/share/jfr/recorder/repository/jfrChunkWriter.hpp Wed Oct 30 16:14:56 2019 +0100 +++ b/src/hotspot/share/jfr/recorder/repository/jfrChunkWriter.hpp Wed Oct 30 19:43:52 2019 +0100 @@ -29,29 +29,36 @@ #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 flush_chunk(bool flushpoint); 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; + int64_t write_chunk_header_checkpoint(bool flushpoint); public: JfrChunkWriter(); - bool initialize(); + ~JfrChunkWriter(); + int64_t size_written() const; int64_t last_checkpoint_offset() const; void set_last_checkpoint_offset(int64_t offset); - void time_stamp_chunk_now(); + void set_last_metadata_offset(int64_t offset); + + bool has_metadata() const; + void set_time_stamp(); }; #endif // SHARE_JFR_RECORDER_REPOSITORY_JFRCHUNKWRITER_HPP