Class InMultiPort<T>

A trigger that represents an input port that is also multiport.

Marten Lohstroh marten@berkeley.edu

Hokeun Kim hokeun@berkeley.edu

Type Parameters

  • T

Hierarchy (view full)

Constructors

Properties

_channels: IOPort<T>[]

The channels of this multiport.

_key: symbol = ...

A symbol that identifies this component, and it also used to selectively grant access to its privileged functions.

manager: (Anonymous class)<T> = ...

Inner class instance to let the container configure this port.

reactions: Set<Reaction<Variable[]>> = ...

Reactions to trigger.

writer: (Anonymous class)<T> = ...

Inner class instance to gain access to MultiWrite interface.

pathSeparator: string = "."

Methods

  • Return a string that identifies this component within its container. If no such string was found, return the name of the constructor.

    Returns string

  • Confirm whether or not this component is contained by the given reactor.

    Parameters

    • reactor: Reactor

      The presumptive container of this component.

    Returns boolean

  • Confirm whether or not this component is contained by the container of the given reactor.

    Parameters

    • reactor: Reactor

      The container presumptive container of the container of this component.

    Returns boolean

  • Report whether this component has been registered with its container or not. In principle, all components should have a container, but at the time of their construction there is a brief period where they are not. This is the only moment that a component is allowed register with its container.

    Returns boolean

  • Request the container to pass down its runtime object to this component. This function is to be called once and only once upon the construction of an object that subclasses Component. If it is called more than once a runtime error results.

    Returns void

  • Parameters

    • index: number

      the index that identifies the channel to return the value of

    Returns undefined | T

    the value that corresponds to the identified channel

  • Request the manager of this trigger. The request will only be honored if the correct key is given. Each component has a unique symbol (a key) that is handed to the owner upon instantiation of the component. If the wrong key is supplied, return undefined.

    Parameters

    • key: undefined | symbol

      The private key embedded in this trigger.

    Returns TriggerManager

  • Return whether this multiport has any channels that are present.

    Returns boolean

    true if there are any present channels

  • Return an array of which the elements represent the current value of each channel, which may either be present or absent (i.e., undefined).

    Returns (undefined | T)[]

    an array of values

  • Return the number of channels of this multiport.

    Returns number

    the number of channels

  • Given a component and its container (the global object if the component is an App), return the key of the entry that matches the component.

    Parameters

    • component: Component

      a component of which the object is assumed to be its container

    • object: object

      the assumed container of the component

    Returns string

    the key of the entry that matches the component

  • Given a port and its containing reactor, return the key of the entry that matches a multiport found in the reactor that matches the port.

    Parameters

    • port: Component

      a port that is assumed to be a constituent of a multiport declared on the given reactor

    • reactor: Reactor

      a reactor that is assumed to have a multiport of which one of the constituents is the given port

    Returns string

    an identifier for the port based on its location in a matching multiport

  • Given an array of ports (channels), return an array holding the ports' current values.

    Type Parameters

    • T

    Parameters

    • ports: IOPort<T>[]

      the ports to return the values of

    Returns (undefined | T)[]

    the current values of the given ports