23 */ |
23 */ |
24 |
24 |
25 #ifndef SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTWRITER_HPP |
25 #ifndef SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTWRITER_HPP |
26 #define SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTWRITER_HPP |
26 #define SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTWRITER_HPP |
27 |
27 |
28 #include "jfr/recorder/checkpoint/jfrCheckpointBlob.hpp" |
|
29 #include "jfr/recorder/storage/jfrBuffer.hpp" |
28 #include "jfr/recorder/storage/jfrBuffer.hpp" |
|
29 #include "jfr/utilities/jfrBlob.hpp" |
30 #include "jfr/utilities/jfrTime.hpp" |
30 #include "jfr/utilities/jfrTime.hpp" |
31 #include "jfr/utilities/jfrTypes.hpp" |
31 #include "jfr/utilities/jfrTypes.hpp" |
32 #include "jfr/writers/jfrEventWriterHost.inline.hpp" |
32 #include "jfr/writers/jfrEventWriterHost.inline.hpp" |
33 #include "jfr/writers/jfrMemoryWriterHost.inline.hpp" |
33 #include "jfr/writers/jfrMemoryWriterHost.inline.hpp" |
34 #include "jfr/writers/jfrStorageAdapter.hpp" |
34 #include "jfr/writers/jfrStorageAdapter.hpp" |
65 u4 count() const; |
65 u4 count() const; |
66 void set_count(u4 count); |
66 void set_count(u4 count); |
67 void increment(); |
67 void increment(); |
68 void set_flushpoint(bool flushpoint); |
68 void set_flushpoint(bool flushpoint); |
69 bool is_flushpoint() const; |
69 bool is_flushpoint() const; |
70 const u1* session_data(size_t* size, const JfrCheckpointContext* ctx = NULL); |
70 const u1* session_data(size_t* size, bool move = false, const JfrCheckpointContext* ctx = NULL); |
71 void release(); |
71 void release(); |
72 |
|
73 public: |
72 public: |
74 JfrCheckpointWriter(bool flushpoint, bool header, Thread* thread); |
73 JfrCheckpointWriter(bool flushpoint, bool header, Thread* thread); |
75 ~JfrCheckpointWriter(); |
74 ~JfrCheckpointWriter(); |
76 void write_type(JfrTypeId type_id); |
75 void write_type(JfrTypeId type_id); |
77 void write_count(u4 nof_entries); |
76 void write_count(u4 nof_entries); |
78 void write_count(u4 nof_entries, int64_t offset); |
77 void write_count(u4 nof_entries, int64_t offset); |
79 void write_key(u8 key); |
78 void write_key(u8 key); |
80 const JfrCheckpointContext context() const; |
79 const JfrCheckpointContext context() const; |
81 void set_context(const JfrCheckpointContext ctx); |
80 void set_context(const JfrCheckpointContext ctx); |
82 bool has_data() const; |
81 bool has_data() const; |
83 JfrCheckpointBlobHandle checkpoint_blob(); |
82 JfrBlobHandle copy(const JfrCheckpointContext* ctx = NULL); |
84 JfrCheckpointBlobHandle copy(const JfrCheckpointContext* ctx = NULL); |
83 JfrBlobHandle move(const JfrCheckpointContext* ctx = NULL); |
85 JfrCheckpointBlobHandle move(const JfrCheckpointContext* ctx = NULL); |
|
86 }; |
84 }; |
87 |
85 |
88 #endif // SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTWRITER_HPP |
86 #endif // SHARE_JFR_RECORDER_CHECKPOINT_JFRCHECKPOINTWRITER_HPP |