code: function TaskControlBlock(link, id, priority, queue, task) {
    this.link = link;
    this.id = id;
    this.priority = priority;
    this.queue = queue;
    this.task = task;
    if (queue == null) {
      this.state = STATE_SUSPENDED;
    } else {
      this.state = STATE_SUSPENDED_RUNNABLE;
    }
  }
docs: A task control block manages a task and the queue of work packages associated
  with it.
  @param {TaskControlBlock} link the preceding block in the linked block list
  @param {int} id the id of this block
  @param {int} priority the priority of this block
  @param {Packet} queue the queue of packages to be processed by the task
  @param {Task} task the task
  @constructor