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 interfaceprotected classNested classes/interfaces inherited from interface DMWriter
DMWriter.ProgressListener -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ConcurrentHashMap<DiskAccessRequest, String> private final AESemaphoreprivate intprivate longprivate booleanprivate final DiskAccessControllerprivate final DiskManagerHelperprivate long(package private) static final LogIDsprivate static final intprivate final intprivate boolean(package private) boolean(package private) final AEMonitorprivate longprivate longprivate final Set<DiskManagerWriteRequest> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateWriteRequest(int pieceNumber, int offset, DirectByteBuffer buffer, Object user_data) longlong[]getStats()4 entries, total write-ops, total write-bytes, outstanding write-ops, outstanding write-bytesbooleanhasOutstandingWriteRequestForPiece(int piece_number) booleanvoidstart()voidstop()voidwriteBlock(DiskManagerWriteRequest request, DiskManagerWriteRequestListener _listener) booleanzeroFile(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
-
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:
zeroFilein interfaceDMWriter- Throws:
DiskManagerException
-
createWriteRequest
public DiskManagerWriteRequest createWriteRequest(int pieceNumber, int offset, DirectByteBuffer buffer, Object user_data) - Specified by:
createWriteRequestin interfaceDMWriter
-
hasOutstandingWriteRequestForPiece
public boolean hasOutstandingWriteRequestForPiece(int piece_number) - Specified by:
hasOutstandingWriteRequestForPiecein interfaceDMWriter
-
writeBlock
- Specified by:
writeBlockin interfaceDMWriter
-
getStats
-
getLatency
public long getLatency()- Specified by:
getLatencyin interfaceDMWriter
-