Class DMWriterImpl
- java.lang.Object
-
- com.biglybt.core.disk.impl.access.impl.DMWriterImpl
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static interface
DMWriterImpl.DispatcherListener
protected class
DMWriterImpl.requestDispatcher
-
Nested classes/interfaces inherited from interface com.biglybt.core.disk.impl.access.DMWriter
DMWriter.ProgressListener
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.ConcurrentHashMap<DiskAccessRequest,java.lang.String>
active_requests
private AESemaphore
async_write_sem
private int
async_writes
private long
async_writes_bytes
private boolean
complete_recheck_in_progress
private DiskAccessController
disk_access
private DiskManagerHelper
disk_manager
private long
latency
(package private) static LogIDs
LOGID
private static int
MIN_ZERO_BLOCK
private int
pieceLength
private boolean
started
(package private) boolean
stopped
(package private) AEMonitor
this_mon
private long
total_write_bytes
private long
total_write_ops
private java.util.Set<DiskManagerWriteRequest>
write_requests
-
Constructor Summary
Constructors Constructor Description DMWriterImpl(DiskManagerHelper _disk_manager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DiskManagerWriteRequest
createWriteRequest(int pieceNumber, int offset, DirectByteBuffer buffer, java.lang.Object user_data)
long
getLatency()
long[]
getStats()
4 entries, total write-ops, total write-bytes, outstanding write-ops, outstanding write-bytesboolean
hasOutstandingWriteRequestForPiece(int piece_number)
boolean
isChecking()
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 Detail
-
LOGID
static final LogIDs LOGID
-
MIN_ZERO_BLOCK
private static final int MIN_ZERO_BLOCK
- See Also:
- Constant Field Values
-
disk_manager
private final DiskManagerHelper disk_manager
-
disk_access
private final DiskAccessController disk_access
-
active_requests
private final java.util.concurrent.ConcurrentHashMap<DiskAccessRequest,java.lang.String> active_requests
-
async_writes
private int async_writes
-
async_writes_bytes
private long async_writes_bytes
-
write_requests
private final java.util.Set<DiskManagerWriteRequest> write_requests
-
async_write_sem
private final AESemaphore 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
final AEMonitor this_mon
-
total_write_ops
private long total_write_ops
-
total_write_bytes
private long total_write_bytes
-
latency
private volatile long latency
-
-
Constructor Detail
-
DMWriterImpl
public DMWriterImpl(DiskManagerHelper _disk_manager)
-
-
Method Detail
-
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, java.lang.Object user_data)
- Specified by:
createWriteRequest
in interfaceDMWriter
-
hasOutstandingWriteRequestForPiece
public boolean hasOutstandingWriteRequestForPiece(int piece_number)
- Specified by:
hasOutstandingWriteRequestForPiece
in interfaceDMWriter
-
writeBlock
public void writeBlock(DiskManagerWriteRequest request, DiskManagerWriteRequestListener _listener)
- 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
-
-