IoPoint

open class IoPoint : CoatyObject

Defines meta information of an IO point.

This base object has no associated framework base object type. For instantiation use one of the concrete subtypes IoSource or IoActor.

Attributes.

  • Determines whether IO values published by IO sources or received by IO actors should be treated as raw data that is not encoded/decoded as JSON objects.

    In order to associate an IO source with an IO actor their values of this property must match, i.e. both properties must be either true or false to ensure that IO values transmitted between an IO source and and an IO actor can be properly encoded and decoded on each side.

    Set this property to true to indicate that the IO source or IO actor should handle IO values in raw data format, i.e as a byte array of type [UInt8].

    If set to false (default), the IO values sent by an IO source should be encodable as JSON and decodable as JSON by an associated IO actor.

    Declaration

    Swift

    public var useRawIoValues: Bool?
  • The update rate (in milliseconds) for publishing IoValue events:

    • desired rate for IO actors
    • maximum possible drain rate for IO sources

    The IO router specifies the recommended update rate in Associate event data. If undefined, there is no limit on the rate of published events.

    Declaration

    Swift

    public var updateRate: Int?
  • A topic specification used for routing IO values from external sources to Coaty-defined IO actors or from Coaty-defined IO sources to external sinks (optional).

    Only used for associating routes that are not created by an IO router, but defined by an external non-Coaty component.

    Remark

    Note that the format of an external route is binding-specifc. In order to deliver IO values from/to an external source/actor, the format of the external route must correspond with the configured communication binding. That means, it must be in a valid format and must not have a Coaty-event-like shape. As the external route must be publishable and subscribable, it must not be pattern-based (no wildcard tokens allowed).

    Declaration

    Swift

    public var externalRoute: String?

Codable methods.

  • Undocumented

    Declaration

    Swift

    public required init(from decoder: Decoder) throws
  • Undocumented

    Declaration

    Swift

    open override func encode(to encoder: Encoder) throws