public class StreamAddressSpace extends Object
Constructor and Description |
---|
StreamAddressSpace(long trimMark,
org.roaringbitmap.longlong.Roaring64NavigableMap addressMap) |
Modifier and Type | Method and Description |
---|---|
void |
addAddress(long address)
Add an address to this address space.
|
NavigableSet<Long> |
copyAddressesToSet(Long maxGlobal)
Copy this stream's addresses to a set, under a given boundary (inclusive).
|
org.roaringbitmap.longlong.Roaring64NavigableMap |
getAddressesInRange(StreamAddressRange range)
Get addresses in range (end, start], where start > end.
|
org.roaringbitmap.longlong.Roaring64NavigableMap |
getAddressMap() |
Long |
getTail()
Get tail for this stream.
|
long |
getTrimMark() |
boolean |
isEmpty()
Checks if this stream has addresses or not.
|
void |
removeAddresses(List<Long> addresses)
Remove addresses from the stream's address map
and set the new trim mark (to the greatest of all addresses to remove).
|
void |
setTrimMark(long trimMark) |
void |
trim(Long trimMark)
Trim all addresses lower or equal to trimMark and set new trim mark.
|
public StreamAddressSpace(long trimMark, org.roaringbitmap.longlong.Roaring64NavigableMap addressMap)
public org.roaringbitmap.longlong.Roaring64NavigableMap getAddressMap()
public NavigableSet<Long> copyAddressesToSet(Long maxGlobal)
maxGlobal
- maximum address (inclusive upper bound)public boolean isEmpty()
public Long getTail()
public void addAddress(long address)
address
- address to add.public void removeAddresses(List<Long> addresses)
public void trim(Long trimMark)
trimMark
- upper limit of addresses to trimpublic org.roaringbitmap.longlong.Roaring64NavigableMap getAddressesInRange(StreamAddressRange range)
public void setTrimMark(long trimMark)
public long getTrimMark()
Copyright © 2019 CorfuDB. All rights reserved.