Trait

org.apache.daffodil.processors

SuspendableOperation

Related Doc: package processors

Permalink

trait SuspendableOperation extends Suspension

SuspendableOperation is used for suspending and retrying things that aren't expressions. Example is an alignmentFill unparser. Until we know the absolute start bit positon, we can't lay down alignment fill bits.

This has to be suspended and retried later, but it's not an expression being evaluated that has forward references.

Linear Supertypes
Suspension, Logging, Identity, Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SuspendableOperation
  2. Suspension
  3. Logging
  4. Identity
  5. Serializable
  6. Serializable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def continuation(ustate: UState): Unit

    Permalink

    The operation we want to do only if the test is true.

    The operation we want to do only if the test is true.

    Attributes
    protected
  2. abstract def rd: TermRuntimeData

    Permalink
    Definition Classes
    SuspendableOperationSuspension
  3. abstract def test(ustate: UState): Boolean

    Permalink

    Returns true if continuation can be run.

    Returns true if continuation can be run.

    If false, the operation will be suspended, and resumed later. Once test is true, then the continuation will be run.

    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def UE(ustate: UState, s: String, args: Any*): Nothing

    Permalink
    Definition Classes
    Suspension
  5. final def areLogging(lvl: Type): Boolean

    Permalink
    Definition Classes
    Logging
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. final def block(nodeOrVar: AnyRef, info: AnyRef, index: Long, exc: AnyRef): Unit

    Permalink
    Definition Classes
    Suspension
  8. final def blockedLocation: String

    Permalink
    Definition Classes
    Suspension
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def doLogging(lvl: Type, msg: String, args: Seq[Any]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  11. final def doTask(ustate: UState): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SuspendableOperationSuspension
  12. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  14. final def explain(): Unit

    Permalink
    Definition Classes
    Suspension
  15. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. def getLogWriter(): LogWriter

    Permalink
    Definition Classes
    Logging
  18. final def getLoggingLevel(): Type

    Permalink
    Definition Classes
    Logging
  19. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  20. final def isBlocked: Boolean

    Permalink
    Definition Classes
    Suspension
  21. final def isDone: Boolean

    Permalink
    Definition Classes
    Suspension
  22. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  23. final def isMakingProgress: Boolean

    Permalink
    Definition Classes
    Suspension
  24. val isReadOnly: Boolean

    Permalink

    Specifies that this suspension does not write to the data output stream.

    Specifies that this suspension does not write to the data output stream.

    Override in TargetLengthOperation,and in SuspendableExpression as they don't write to the DOS hence, if a DOS is created it can be setFinished immediately.

    TODO: Redundant with implementing maybeKnownLengthInBits as MaybeULong(0L)

    Definition Classes
    Suspension
  25. final macro def log(lvl: Type, msg: String, args: Any*): Unit

    Permalink
    Definition Classes
    Logging
  26. lazy val logID: String

    Permalink
    Definition Classes
    Logging → Identity
  27. var logLevel: Maybe[Type]

    Permalink
    Definition Classes
    Logging
  28. var logWriter: Maybe[LogWriter]

    Permalink
    Definition Classes
    Logging
  29. def maybeKnownLengthInBits(ustate: UState): MaybeULong

    Permalink
    Attributes
    protected
    Definition Classes
    Suspension
  30. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  31. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  32. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  33. final def run(ustate: UState): Unit

    Permalink

    Run the first time.

    Run the first time.

    Definition Classes
    Suspension
  34. final def runSuspension(): Unit

    Permalink

    After calling this, call isDone and if that's false call isMakingProgress to understand whether it is done, blocked on the exactly same situation, or blocked elsewhere.

    After calling this, call isDone and if that's false call isMakingProgress to understand whether it is done, blocked on the exactly same situation, or blocked elsewhere.

    This status is needed to implement circular deadlock detection

    Definition Classes
    Suspension
  35. final def savedUstate: UState

    Permalink
    Definition Classes
    Suspension
  36. final def setDone: Unit

    Permalink
    Definition Classes
    Suspension
  37. def setLogWriter(lw: LogWriter): Unit

    Permalink
    Definition Classes
    Logging
  38. def setLoggingLevel(level: Type): Unit

    Permalink
    Definition Classes
    Logging
  39. final def setUnblocked(): Unit

    Permalink
    Definition Classes
    Suspension
  40. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  41. def toString(): String

    Permalink
    Definition Classes
    SuspendableOperation → AnyRef → Any
  42. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  43. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  44. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  45. macro def withLoggingLevel[S](newLevel: Type)(body: ⇒ S): Unit

    Permalink
    Definition Classes
    Logging

Inherited from Suspension

Inherited from Logging

Inherited from Identity

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped