caoss.simulator.os

## Class ProcessControlBlock<S>

- java.lang.Object
- - caoss.simulator.os.ProcessControlBlock<S>

-     public class ProcessControlBlock<S>
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `ProcessControlBlock.State`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `long` | `arrivalTime`
    `Context` | `context` The process's running context
    `long` | `pid` The process' identifier

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ProcessControlBlock(Program program, S schedulingState)` Constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getArrivalTime()`
    `Context` | `getContext()`
    `long` | `getPid()`
    `S` | `getSchedulingState()`
    `ProcessControlBlock.State` | `getState()`
    `void` | `setState(ProcessControlBlock.State state)`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### pid

          public final long pid

      The process' identifier

    - #### context

          public final Context context

      The process's running context

    - #### arrivalTime

          public final long arrivalTime

  - ### Constructor Detail

    - #### ProcessControlBlock

          public ProcessControlBlock(Program program,
                                     S schedulingState)

      Constructor
      Parameters:
        `program` - Program to run

  - ### Method Detail

    - #### getPid

          public long getPid()

    - #### getContext

          public Context getContext()

    - #### getState

          public ProcessControlBlock.State getState()

    - #### setState

          public void setState(ProcessControlBlock.State state)

    - #### getSchedulingState

          public S getSchedulingState()

    - #### getArrivalTime

          public long getArrivalTime()

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`