blob: 8a9ebd1ffda1ee34a4cee02de91ca3d30e8a14f9 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2016 École Polytechnique de Montréal
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License 2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*******************************************************************************/
package org.eclipse.tracecompass.internal.analysis.os.linux.core.inputoutput;
import org.eclipse.tracecompass.analysis.os.linux.core.inputoutput.IoOperationType;
/**
* Class that represents a block IO structure of the os kernel
*
* @author Houssem Daoud
*/
public class BlockIO {
private final Long fSector;
private final int fNrSector;
private final DiskWriteModel fDisk;
private final IoOperationType fType;
/**
* Constructor
*
* @param sector
* Start sector of this block IO
* @param nr_sector
* The number of sectors from this block IO
* @param disk
* The disk this BIO is on
* @param rwbs
* The rwbs value of a block operation
*/
public BlockIO(Long sector, int nr_sector, DiskWriteModel disk, int rwbs) {
fSector = sector;
fNrSector = nr_sector;
fDisk = disk;
fType = IoOperationType.getType(rwbs);
}
/**
* Get the base sector of this BIO
*
* @return The base sector
*/
public Long getSector() {
return fSector;
}
/**
* Get the number of sectors of this BIO
*
* @return The number of sectors
*/
public int getNrSector() {
return fNrSector;
}
/**
* Get the disk this block IO is for
*
* @return The disk of this BIO
*/
public DiskWriteModel getDisk() {
return fDisk;
}
/**
* Get the type of BIO
*
* @return The type of BIO
*/
public IoOperationType getType() {
return fType;
}
}