StructArrayTopic

class ntcore.StructArrayTopic(topic: ntcore._ntcore.Topic, type: type)

Bases: Topic

NetworkTables struct-encoded value array topic.

Construct from a generic topic.

Parameters:
  • topic – Topic

  • type – optional struct type info

close() None

Destroys the topic

getEntry(defaultValue: List[object], options: ntcore._ntcore.PubSubOptions = <ntcore._ntcore.PubSubOptions object at 0x7ffa393b9e70>) ntcore._ntcore.StructArrayEntry

Create a new entry for the topic.

Entries act as a combination of a subscriber and a weak publisher. The subscriber is active as long as the entry is not destroyed. The publisher is created when the entry is first written to, and remains active until either Unpublish() is called or the entry is destroyed.

Note

It is not possible to use two different data types with the same topic. Conflicts between publishers are typically resolved by the server on a first-come, first-served basis. Any published values that do not match the topic’s data type are dropped (ignored), and the entry will show no new values if the data type does not match. To determine if the data type matches, use the appropriate Topic functions.

Parameters:
  • defaultValue – default value used when a default is not provided to a getter function

  • options – publish and/or subscribe options

Returns:

entry

publish(options: ntcore._ntcore.PubSubOptions = <ntcore._ntcore.PubSubOptions object at 0x7ffa393f3530>) ntcore._ntcore.StructArrayPublisher

Create a new publisher to the topic.

The publisher is only active as long as the returned object is not destroyed.

Note

It is not possible to publish two different data types to the same topic. Conflicts between publishers are typically resolved by the server on a first-come, first-served basis. Any published values that do not match the topic’s data type are dropped (ignored). To determine if the data type matches, use the appropriate Topic functions.

Parameters:

options – publish options

Returns:

publisher

publishEx(properties: wpiutil.json, options: ntcore._ntcore.PubSubOptions = <ntcore._ntcore.PubSubOptions object at 0x7ffa39409530>) ntcore._ntcore.StructArrayPublisher

Create a new publisher to the topic, with type string and initial properties.

The publisher is only active as long as the returned object is not destroyed.

Note

It is not possible to publish two different data types to the same topic. Conflicts between publishers are typically resolved by the server on a first-come, first-served basis. Any published values that do not match the topic’s data type are dropped (ignored). To determine if the data type matches, use the appropriate Topic functions.

Parameters:
  • properties – JSON properties

  • options – publish options

Returns:

publisher

subscribe(defaultValue: List[object], options: ntcore._ntcore.PubSubOptions = <ntcore._ntcore.PubSubOptions object at 0x7ffa393b80b0>) ntcore._ntcore.StructArraySubscriber

Create a new subscriber to the topic.

The subscriber is only active as long as the returned object is not destroyed.

Note

Subscribers that do not match the published data type do not return any values. To determine if the data type matches, use the appropriate Topic functions.

Parameters:
  • defaultValue – default value used when a default is not provided to a getter function

  • options – subscribe options

Returns:

subscriber