]> git.proxmox.com Git - ceph.git/blame - ceph/src/rocksdb/java/src/main/java/org/rocksdb/SstFileMetaData.java
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / rocksdb / java / src / main / java / org / rocksdb / SstFileMetaData.java
CommitLineData
494da23a
TL
1// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2// This source code is licensed under both the GPLv2 (found in the
3// COPYING file in the root directory) and Apache 2.0 License
4// (found in the LICENSE.Apache file in the root directory).
5
6package org.rocksdb;
7
8/**
9 * The metadata that describes a SST file.
10 */
11public class SstFileMetaData {
12 private final String fileName;
13 private final String path;
14 private final long size;
15 private final long smallestSeqno;
16 private final long largestSeqno;
17 private final byte[] smallestKey;
18 private final byte[] largestKey;
19 private final long numReadsSampled;
20 private final boolean beingCompacted;
21 private final long numEntries;
22 private final long numDeletions;
23
24 /**
25 * Called from JNI C++
f67539c2
TL
26 *
27 * @param fileName the file name
28 * @param path the file path
29 * @param size the size of the file
30 * @param smallestSeqno the smallest sequence number
31 * @param largestSeqno the largest sequence number
32 * @param smallestKey the smallest key
33 * @param largestKey the largest key
34 * @param numReadsSampled the number of reads sampled
35 * @param beingCompacted true if the file is being compacted, false otherwise
36 * @param numEntries the number of entries
37 * @param numDeletions the number of deletions
494da23a
TL
38 */
39 protected SstFileMetaData(
40 final String fileName,
41 final String path,
42 final long size,
43 final long smallestSeqno,
44 final long largestSeqno,
45 final byte[] smallestKey,
46 final byte[] largestKey,
47 final long numReadsSampled,
48 final boolean beingCompacted,
49 final long numEntries,
50 final long numDeletions) {
51 this.fileName = fileName;
52 this.path = path;
53 this.size = size;
54 this.smallestSeqno = smallestSeqno;
55 this.largestSeqno = largestSeqno;
56 this.smallestKey = smallestKey;
57 this.largestKey = largestKey;
58 this.numReadsSampled = numReadsSampled;
59 this.beingCompacted = beingCompacted;
60 this.numEntries = numEntries;
61 this.numDeletions = numDeletions;
62 }
63
64 /**
65 * Get the name of the file.
66 *
67 * @return the name of the file.
68 */
69 public String fileName() {
70 return fileName;
71 }
72
73 /**
74 * Get the full path where the file locates.
75 *
76 * @return the full path
77 */
78 public String path() {
79 return path;
80 }
81
82 /**
83 * Get the file size in bytes.
84 *
85 * @return file size
86 */
87 public long size() {
88 return size;
89 }
90
91 /**
92 * Get the smallest sequence number in file.
93 *
94 * @return the smallest sequence number
95 */
96 public long smallestSeqno() {
97 return smallestSeqno;
98 }
99
100 /**
101 * Get the largest sequence number in file.
102 *
103 * @return the largest sequence number
104 */
105 public long largestSeqno() {
106 return largestSeqno;
107 }
108
109 /**
110 * Get the smallest user defined key in the file.
111 *
112 * @return the smallest user defined key
113 */
114 public byte[] smallestKey() {
115 return smallestKey;
116 }
117
118 /**
119 * Get the largest user defined key in the file.
120 *
121 * @return the largest user defined key
122 */
123 public byte[] largestKey() {
124 return largestKey;
125 }
126
127 /**
128 * Get the number of times the file has been read.
129 *
130 * @return the number of times the file has been read
131 */
132 public long numReadsSampled() {
133 return numReadsSampled;
134 }
135
136 /**
137 * Returns true if the file is currently being compacted.
138 *
139 * @return true if the file is currently being compacted, false otherwise.
140 */
141 public boolean beingCompacted() {
142 return beingCompacted;
143 }
144
145 /**
146 * Get the number of entries.
147 *
148 * @return the number of entries.
149 */
150 public long numEntries() {
151 return numEntries;
152 }
153
154 /**
155 * Get the number of deletions.
156 *
157 * @return the number of deletions.
158 */
159 public long numDeletions() {
160 return numDeletions;
161 }
162}