Class DMWriterImpl
java.lang.Object
com.biglybt.core.disk.impl.access.impl.DMWriterImpl
- All Implemented Interfaces:
DMWriter
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static interface
protected class
Nested classes/interfaces inherited from interface com.biglybt.core.disk.impl.access.DMWriter
DMWriter.ProgressListener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ConcurrentHashMap
<DiskAccessRequest, String> private final AESemaphore
private int
private long
private boolean
private final DiskAccessController
private final DiskManagerHelper
private long
(package private) static final LogIDs
private static final int
private final int
private boolean
(package private) boolean
(package private) final AEMonitor
private long
private long
private final Set
<DiskManagerWriteRequest> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateWriteRequest
(int pieceNumber, int offset, DirectByteBuffer buffer, Object user_data) long
long[]
getStats()
4 entries, total write-ops, total write-bytes, outstanding write-ops, outstanding write-bytesboolean
hasOutstandingWriteRequestForPiece
(int piece_number) boolean
void
start()
void
stop()
void
writeBlock
(DiskManagerWriteRequest request, DiskManagerWriteRequestListener _listener) boolean
zeroFile
(DiskManagerAllocationScheduler.AllocationInstance allocation_instance, DiskManagerFileInfoImpl file, long start_from, long overall_length, DMWriter.ProgressListener listener)
-
Field Details
-
LOGID
-
MIN_ZERO_BLOCK
private static final int MIN_ZERO_BLOCK- See Also:
-
disk_manager
-
disk_access
-
active_requests
-
async_writes
private int async_writes -
async_writes_bytes
private long async_writes_bytes -
write_requests
-
async_write_sem
-
started
private boolean started -
stopped
volatile boolean stopped -
pieceLength
private final int pieceLength -
complete_recheck_in_progress
private boolean complete_recheck_in_progress -
this_mon
-
total_write_ops
private long total_write_ops -
total_write_bytes
private long total_write_bytes -
latency
private volatile long latency
-
-
Constructor Details
-
DMWriterImpl
-
-
Method Details
-
start
public void start() -
stop
public void stop() -
isChecking
public boolean isChecking() -
zeroFile
public boolean zeroFile(DiskManagerAllocationScheduler.AllocationInstance allocation_instance, DiskManagerFileInfoImpl file, long start_from, long overall_length, DMWriter.ProgressListener listener) throws DiskManagerException - Specified by:
zeroFile
in interfaceDMWriter
- Throws:
DiskManagerException
-
createWriteRequest
public DiskManagerWriteRequest createWriteRequest(int pieceNumber, int offset, DirectByteBuffer buffer, Object user_data) - Specified by:
createWriteRequest
in interfaceDMWriter
-
hasOutstandingWriteRequestForPiece
public boolean hasOutstandingWriteRequestForPiece(int piece_number) - Specified by:
hasOutstandingWriteRequestForPiece
in interfaceDMWriter
-
writeBlock
- Specified by:
writeBlock
in interfaceDMWriter
-
getStats
public long[] getStats()Description copied from interface:DMWriter
4 entries, total write-ops, total write-bytes, outstanding write-ops, outstanding write-bytes -
getLatency
public long getLatency()- Specified by:
getLatency
in interfaceDMWriter
-