@Override public PeriodicThreadScheduler createPeriodicThreadScheduler(String name) { return new PeriodicNonRealtimeThreadScheduler(name); }
/** * Make all objects set using @see{next} since last commit visible to the consumer * */ public void commit() { // Set the commitPosition to writePosition. Writing to commitPosition inserts a memory write barrier commitPosition.set(writePosition); }
@Override public void closeAndDispose() { if (scheduler != null) scheduler.shutdown(); }
private void initialize(String rosNameSpace) { rosMainNode.attachPublisher(rosNameSpace + "/output/high_level_state", statePublisher); scheduler.schedule(this, 1, TimeUnit.MILLISECONDS); }
public void stop() { scheduler.shutdown(); try { scheduler.awaitTermination(1, TimeUnit.SECONDS); } catch (InterruptedException e) { } }
public void start() { scheduler.schedule(variableUpdateThread, 1, TimeUnit.MILLISECONDS); }
@Override public PeriodicThreadScheduler createPeriodicThreadScheduler(String name) { return new PeriodicRealtimeThreadScheduler(name, priority); }
public ChangeListenerLongBuffer(int capacity) { capacity = RealtimeTools.nextDivisibleBySixteen(capacity); valueChanged = new boolean[capacity]; values = new long[capacity]; }
/** * Get latest data from producer. Run before a sequence of @see{read} * * @return true if there is new data available */ public boolean poll() { // Reading from commitPosition inserts a memory read barrier, making sure that this thread's caches are coherent readLimit = commitPosition.get(); if(readPosition < readLimit) { return true; } else { return false; } }
public FullStateBuffer(int variableOffset, List<YoVariable<?>> variables, List<JointHolder> jointHolders) { super(variableOffset, variables); this.numberOfJointStates = getNumberOfJointStates(jointHolders); this.jointStates = new double[RealtimeTools.nextDivisibleByEight(this.numberOfJointStates)]; this.jointHolders = jointHolders; }
private void initialize(String rosNameSpace) { rosMainNode.attachPublisher(rosNameSpace + "/output/high_level_state", statePublisher); scheduler.schedule(this, 1, TimeUnit.MILLISECONDS); }
public void stop() { scheduler.shutdown(); } }
@Override public PeriodicThreadScheduler createPeriodicThreadScheduler(String name) { return new PeriodicNonRealtimeThreadScheduler(name); }
public void start() { scheduler.schedule(runner, 100, TimeUnit.MILLISECONDS); }
@Override public PeriodicThreadScheduler createPeriodicThreadScheduler(String name) { return new PeriodicRealtimeThreadScheduler(name, priority); }
/** * Flushes read objects, making them available for writing. Call after @see{read} */ public void flush() { consumerPosition.set(readPosition); }
public ChangeListenerLongBuffer(int capacity) { capacity = RealtimeTools.nextDivisibleBySixteen(capacity); valueChanged = new boolean[capacity]; values = new long[capacity]; }
public void close() { scheduler.shutdown(); server.close(); } }
/** * Make all objects set using @see{next} since last commit visible to the consumer * */ public void commit() { // Set the commitPosition to writePosition. Writing to commitPosition inserts a memory write barrier commitPosition.set(writePosition); }
/** * Flushes read objects, making them available for writing. Call after @see{read} */ public void flush() { consumerPosition.set(readPosition); }