VLink  2.0.0
A high-performance communication middleware
setter_impl.h File Reference

Transport-neutral base class for every field-model setter (latest-value writer). More...

#include "./node_impl.h"
Include dependency graph for setter_impl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  vlink::SetterImpl
 Field-model writer base shared by every transport-specific setter. More...
 

Namespaces

 

Detailed Description

Transport-neutral base class for every field-model setter (latest-value writer).

This is an internal implementation header used by the public Setter template; applications should depend on setter.h. SetterImpl extends NodeImpl with the field-model write semantics: writing overwrites the topic's single tracked value and the backend may notify the setter via a sync callback when a late getter needs the cached value resent.

ImplType
The constructor stamps impl_type with kSetter so the discovery and recording layers correctly identify outgoing field updates.
Lifecycle
  • Constructed by the matching Conf::create_setter().
  • init() / deinit() inherited from NodeImpl bring the transport up.
  • sync() is invoked by the public Setter once the user wires a late-getter sync callback.
  • write() pushes the serialised value to all matched getters.
Role table
Capability Provider
Wire write Subclass override of write()
Late-getter resend Subclass override of sync()
Internal API contract
Method Default Subclass duty
write(const Bytes&) Pure virtual Push frame to transport
sync(SyncCallback&&) Pure virtual Bind late-join callback