RobotCore 1.0
WPILib port to raspberry Pi
Loading...
Searching...
No Matches
PubSubOptions.java
1// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
4
5package org.wpilib.networktables;
6
8public class PubSubOptions {
14 public PubSubOptions(PubSubOption... options) {
15 for (PubSubOption option : options) {
16 switch (option) {
17 case PubSubOption.Periodic p -> periodic = p.period();
18 case PubSubOption.SendAll s -> sendAll = s.enabled();
19 case PubSubOption.TopicsOnly t -> topicsOnly = t.enabled();
20 case PubSubOption.PollStorage p -> pollStorage = p.depth();
21 case PubSubOption.KeepDuplicates k -> keepDuplicates = k.enabled();
22 case PubSubOption.DisableRemote d -> disableRemote = d.disabled();
23 case PubSubOption.DisableLocal l -> disableLocal = l.disabled();
25 excludePublisher = e.publisher() == null ? 0 : e.publisher().getHandle();
27 case PubSubOption.ExcludeSelf s -> excludeSelf = s.enabled();
28 case PubSubOption.Hidden h -> hidden = h.enabled();
29 case PubSubOption.DisableSignal s -> disableSignal = s.disabled();
30 }
31 }
32 }
33
35 int pollStorage,
36 double periodic,
38 boolean sendAll,
39 boolean topicsOnly,
40 boolean keepDuplicates,
41 boolean prefixMatch,
42 boolean disableRemote,
43 boolean disableLocal,
44 boolean excludeSelf,
45 boolean hidden,
46 boolean disableSignal) {
47 this.pollStorage = pollStorage;
48 this.periodic = periodic;
49 this.excludePublisher = excludePublisher;
50 this.sendAll = sendAll;
51 this.topicsOnly = topicsOnly;
52 this.keepDuplicates = keepDuplicates;
53 this.prefixMatch = prefixMatch;
54 this.disableRemote = disableRemote;
55 this.disableLocal = disableLocal;
56 this.excludeSelf = excludeSelf;
57 this.hidden = hidden;
58 this.disableSignal = disableSignal;
59 }
60
62 public static final double DEFAULT_PERIODIC = 0.1;
63
69 public int pollStorage;
70
76 public double periodic = DEFAULT_PERIODIC;
77
82 public int excludePublisher;
83
85 public boolean sendAll;
86
88 public boolean topicsOnly;
89
91 public boolean keepDuplicates;
92
97 public boolean prefixMatch;
98
103 public boolean disableRemote;
104
109 public boolean disableLocal;
110
112 public boolean excludeSelf;
113
119 public boolean hidden;
120
122 public boolean disableSignal;
123}
PubSubOptions(PubSubOption... options)
record TopicsOnly(boolean enabled) implements PubSubOption
record ExcludePublisher(Publisher publisher) implements PubSubOption
record DisableSignal(boolean disabled) implements PubSubOption
record ExcludePublisherHandle(int publisher) implements PubSubOption
record SendAll(boolean enabled) implements PubSubOption
record DisableLocal(boolean disabled) implements PubSubOption
record Hidden(boolean enabled) implements PubSubOption
record DisableRemote(boolean disabled) implements PubSubOption
record Periodic(double period) implements PubSubOption
record KeepDuplicates(boolean enabled) implements PubSubOption
record ExcludeSelf(boolean enabled) implements PubSubOption
record PollStorage(int depth) implements PubSubOption