luxlabs header browser preview


@class BMSegmentManager, NSString, BMFrameStore, BMFileManager, BMPruningPolicy, BMStreamMetadata, BMStoreConfig;
@protocol BMStreamDatastorePruningDelegate;

@interface BMStreamDatastoreBase : NSObject <BMSegmentManagerDelegate, BMFileManagerDelegate> {
    BMFileManager *_fileManager;
    BMStreamMetadata *_metadata;
    Class _eventDataClass;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _lock;
    BOOL _biomeLibrary;
}

@property (readonly, nonatomic) BMFrameStore *currentFrameStore;
@property (readonly, nonatomic) unsigned long long permission;
@property (readonly, nonatomic) unsigned long long maxFileSize;
@property (readonly, nonatomic) NSString *streamPath;
@property (readonly, nonatomic) NSString *remoteStreamName;
@property (readonly, nonatomic) BMPruningPolicy *pruningPolicy;
@property (readonly, nonatomic) BMSegmentManager *segmentManager;
@property (readonly, copy, nonatomic) NSString *streamId;
@property (readonly, nonatomic) BOOL isDataAccessible;
@property (readonly, nonatomic) BMStreamMetadata *metadata;
@property (readonly, nonatomic) BMStoreConfig *config;
@property (weak, nonatomic) id<BMStreamDatastorePruningDelegate> delegate;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

- (BOOL)writeEventWithEventBody:(id)a0 timestamp:(double)a1 outEventSize:(unsigned long long *)a2 outBookmark:(id *)a3;
- (BOOL)writeEventWithEventBody:(id)a0 timestamp:(double)a1;
- (id)initWithStream:(id)a0 permission:(unsigned long long)a1 config:(id)a2;
- (id)newEnumeratorFromBookmark:(id)a0;
- (id)fetchEventsFrom:(double)a0 to:(double)a1 options:(unsigned long long)a2;
- (BOOL)writeEventBytes:(const void *)a0 length:(unsigned long long)a1 dataVersion:(unsigned int)a2 timestamp:(double)a3 outBookmark:(id *)a4;
- (id)initWithStream:(id)a0 streamPath:(id)a1 permission:(unsigned long long)a2 config:(id)a3 eventDataClass:(Class)a4 useCase:(id)a5;
- (void)fetchEventFromFrameStore:(id)a0 atOffset:(unsigned long long)a1 withOptions:(unsigned long long)a2 callback:(id /* block */)a3;
- (id)newEnumeratorFromStartTime:(double)a0 endTime:(double)a1 options:(unsigned long long)a2;
- (BOOL)writeEventWithEventBody:(id)a0 timestamp:(double)a1 outEventSize:(unsigned long long *)a2;
- (BOOL)verifyStreamHealthFrom:(double)a0 to:(double)a1 error:(id *)a2;
- (BOOL)writeEventWithEventBody:(id)a0;
- (id)_bookmarkWithSegmentName:(id)a0 offset:(unsigned long long)a1 datastoreVersion:(unsigned int)a2;
- (BOOL)updateMetadata:(Class)a0;
- (void)eventsFrom:(double)a0 to:(double)a1 reason:(unsigned long long)a2 shouldDeleteUsingBlock:(id /* block */)a3;
- (BOOL)saveMetadata:(id)a0;
- (id)segmentWithFilename:(id)a0 error:(id *)a1;
- (id)newEnumeratorFromStartTime:(double)a0 options:(unsigned long long)a1;
- (id)loadMetadata;
- (long long)cachingOptionsForFileHandleWithAttributes:(id)a0;
- (BOOL)writeEventBytes:(const void *)a0 length:(unsigned long long)a1 dataVersion:(unsigned int)a2 timestamp:(double)a3;
- (void)pruneStreamToMaxSegmentAge:(double)a0;
- (void)removeEventsFrom:(double)a0 to:(double)a1 reason:(unsigned long long)a2 pruneFutureEvents:(BOOL)a3 shouldDeleteUsingBlock:(id /* block */)a4;
- (id)newEnumeratorFromBookmark:(id)a0 options:(unsigned long long)a1;
- (id)newEnumeratorFromStartTime:(double)a0 endTime:(double)a1 maxEvents:(unsigned long long)a2 options:(unsigned long long)a3;
- (id)newEnumeratorFromStartTime:(double)a0 endTime:(double)a1 maxEvents:(unsigned long long)a2 lastN:(unsigned long long)a3 options:(unsigned long long)a4;
- (id)segmentContainingTimestamp:(double)a0;
- (BOOL)writeEventData:(id)a0 dataVersion:(unsigned int)a1 timestamp:(double)a2;
- (void)didMarkFrameAsRemovedWithSegmentName:(id)a0 frame:(id)a1 reason:(unsigned long long)a2 outTombstoneBookmark:(id *)a3;
- (BOOL)writeEventWithEventBody:(id)a0 timestamp:(double)a1 outBookmark:(id *)a2;
- (void)removeEventsFrom:(double)a0 to:(double)a1 reason:(unsigned long long)a2 pruneFutureEvents:(BOOL)a3 usingBlock:(id /* block */)a4;
- (id)metadataPath;
- (BOOL)verifyStreamHealthFromV2:(double)a0 to:(double)a1 frameStore:(id)a2 error:(id *)a3;
- (id)segmentNames;
- (BOOL)writeEventData:(id)a0 dataVersion:(unsigned int)a1 timestamp:(double)a2 outBookmark:(id *)a3;
- (id)fetchEventsFrom:(double)a0 to:(double)a1;
- (BOOL)verifyStreamHealthFromV1:(double)a0 to:(double)a1 frameStore:(id)a2 error:(id *)a3;
- (void)syncMappedFiles;
- (BOOL)deleteEventAtBookmark:(id)a0 outTombstoneBookmark:(id *)a1;
- (void)enumerateEventsFrom:(double)a0 to:(double)a1 options:(unsigned long long)a2 usingBlock:(id /* block */)a3;
- (Class)eventBodyClass;
- (id)initWithStream:(id)a0 streamPath:(id)a1 permission:(unsigned long long)a2 config:(id)a3;
- (void)pruneStreamToMaxStreamSizeInBytes:(unsigned long long)a0;
- (id)newEnumeratorFromStartTime:(double)a0;
- (BOOL)isTombstone;
- (BOOL)updateMetadata:(Class)a0 pruningPolicy:(id)a1;
- (void)segmentManager:(id)a0 willDeleteSegmentName:(id)a1 frameStore:(id)a2;
- (void).cxx_destruct;

@end