abstract class AtomicModule extends Module
This is the only extension point for the sealed type hierarchy: composition (i.e. the module tree) is managed strictly within this file, only leaf nodes may be declared elsewhere.
- Source
- StreamLayout.scala
- Alphabetic
- By Inheritance
- AtomicModule
- Module
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new AtomicModule()
Abstract Value Members
-
abstract
def
attributes: Attributes
- Definition Classes
- Module
-
abstract
def
carbonCopy: Module
The purpose of this method is to create a copy to be included in a larger graph such that port identity clashes are avoided.
The purpose of this method is to create a copy to be included in a larger graph such that port identity clashes are avoided. Where a full copy is not possible or desirable, use a CopiedModule. The shape of the resulting module MUST NOT contain the same ports as this module’s shape.
- Definition Classes
- Module
-
abstract
def
replaceShape(s: Shape): Module
Verify that the given Shape has the same ports and return a new module with that shape.
Verify that the given Shape has the same ports and return a new module with that shape. Concrete implementations may throw UnsupportedOperationException where applicable.
Please note that this method MUST NOT be implemented using a CopiedModule since the purpose of replaceShape can also be to rearrange the ports (as in BidiFlow.reversed) and that purpose would be defeated.
- Definition Classes
- Module
-
abstract
def
shape: Shape
- Definition Classes
- Module
-
abstract
def
withAttributes(attributes: Attributes): Module
- Definition Classes
- Module
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from AtomicModule to any2stringadd[AtomicModule] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (AtomicModule, B)
- Implicit
- This member is added by an implicit conversion from AtomicModule to ArrowAssoc[AtomicModule] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
compose[A, B, C](that: Module, f: (A, B) ⇒ C): Module
Creates a new Module which is
this
Module composed withthat
Module, using the given functionf
to compose the materialized value ofthis
with the materialized value ofthat
.Creates a new Module which is
this
Module composed withthat
Module, using the given functionf
to compose the materialized value ofthis
with the materialized value ofthat
.- A
the type of the materialized value of
this
- B
the type of the materialized value of
that
- C
the type of the materialized value of the returned Module
- that
a Module to be composed with (cannot be itself)
- f
a function which combines the materialized values
- returns
a Module that represents the composition of
this
andthat
- Definition Classes
- Module
-
def
compose(that: Module): Module
Creates a new Module which is
this
Module composed withthat
Module.Creates a new Module which is
this
Module composed withthat
Module.- that
a Module to be composed with (cannot be itself)
- returns
a Module that represents the composition of
this
andthat
- Definition Classes
- Module
-
def
composeNoMat(that: Module): Module
Creates a new Module which is
this
Module composed withthat
Module.Creates a new Module which is
this
Module composed withthat
Module.The difference to compose(that) is that this version completely ignores the materialized value computation of
that
while the normal version executes the computation and discards its result. This means that this version must not be used for user-providedthat
modules because users may transform materialized values only to achieve some side-effect; it can only be used where we know that there is no meaningful computation to be done (like for MaterializedValueSource).- that
a Module to be composed with (cannot be itself)
- returns
a Module that represents the composition of
this
andthat
- Definition Classes
- Module
-
final
def
downstreams: Map[OutPort, InPort]
- Definition Classes
- AtomicModule → Module
-
def
ensuring(cond: (AtomicModule) ⇒ Boolean, msg: ⇒ Any): AtomicModule
- Implicit
- This member is added by an implicit conversion from AtomicModule to Ensuring[AtomicModule] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (AtomicModule) ⇒ Boolean): AtomicModule
- Implicit
- This member is added by an implicit conversion from AtomicModule to Ensuring[AtomicModule] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): AtomicModule
- Implicit
- This member is added by an implicit conversion from AtomicModule to Ensuring[AtomicModule] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): AtomicModule
- Implicit
- This member is added by an implicit conversion from AtomicModule to Ensuring[AtomicModule] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
equals(obj: Any): Boolean
- Definition Classes
- Module → AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from AtomicModule to StringFormat[AtomicModule] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
fuse[A, B, C](that: Module, from: OutPort, to: InPort, f: (A, B) ⇒ C): Module
Fuses this Module to
that
Module by wiring togetherfrom
andto
, transforming the materialized values ofthis
andthat
using the provided functionf
Fuses this Module to
that
Module by wiring togetherfrom
andto
, transforming the materialized values ofthis
andthat
using the provided functionf
- that
a Module to fuse with
- from
the data source to wire
- to
the data sink to wire
- f
the function to apply to the materialized values
- returns
a Module representing the fusion of
this
andthat
- Definition Classes
- Module
-
final
def
fuse(that: Module, from: OutPort, to: InPort): Module
Fuses this Module to
that
Module by wiring togetherfrom
andto
, retaining the materialized value ofthis
in the resultFuses this Module to
that
Module by wiring togetherfrom
andto
, retaining the materialized value ofthis
in the result- that
a Module to fuse with
- from
the data source to wire
- to
the data sink to wire
- returns
a Module representing the fusion of
this
andthat
- Definition Classes
- Module
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
final
def
hashCode(): Int
- Definition Classes
- Module → AnyRef → Any
-
final
lazy val
inPorts: Set[InPort]
- Definition Classes
- Module
-
def
isAtomic: Boolean
- Definition Classes
- Module
-
final
def
isBidiFlow: Boolean
- Definition Classes
- Module
-
def
isCopied: Boolean
- Definition Classes
- Module
-
final
def
isFlow: Boolean
- Definition Classes
- Module
-
def
isFused: Boolean
- Definition Classes
- Module
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isRunnable: Boolean
- Definition Classes
- Module
-
final
def
isSealed: Boolean
- Definition Classes
- Module
-
final
def
isSink: Boolean
- Definition Classes
- Module
-
final
def
isSource: Boolean
- Definition Classes
- Module
-
def
materializedValueComputation: MaterializedValueNode
- Definition Classes
- Module
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
lazy val
outPorts: Set[OutPort]
- Definition Classes
- Module
-
final
def
subModules: Set[Module]
- Definition Classes
- AtomicModule → Module
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
transformMaterializedValue(f: (Any) ⇒ Any): Module
- Definition Classes
- Module
-
final
def
upstreams: Map[InPort, OutPort]
- Definition Classes
- AtomicModule → Module
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wire(from: OutPort, to: InPort): Module
Creates a new Module based on the current Module but with the given OutPort wired to the given InPort.
Creates a new Module based on the current Module but with the given OutPort wired to the given InPort.
- from
the OutPort to wire
- to
the InPort to wire
- returns
a new Module with the ports wired
- Definition Classes
- Module
-
def
→[B](y: B): (AtomicModule, B)
- Implicit
- This member is added by an implicit conversion from AtomicModule to ArrowAssoc[AtomicModule] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc