template <>

class WireWeakAsyncClientImpl

Defined at line 3373 of file fidling/gen/sdk/fidl/fuchsia.net.routes/fuchsia.net.routes/cpp/fidl/fuchsia.net.routes/cpp/wire_messaging.h

Public Methods

::fidl::internal::WireThenable< ::fuchsia_net_routes::WatcherV6::Watch> Watch ()

Hanging-Get style API for observing routing changes.

Clients must only have one pending `Watch` call at a time. Calling

`Watch` while a request is already pending will cause the protocol to

close.

The first N events will always be `existing` where N is the number of

IPv6 routes that already existed when the server-end of the protocol was

initialized. The following event will be `idle` signaling the end of the

`existing` events. At this point the client has watched all existing

state and will never again observe an `existing` event.

Events are returned in batches of up to `MAX_EVENTS` events. There is no

correlation between the batch size/boundary and it's contents: it is

perfectly valid for the server to split the block of `existing` events,

across several batches. Clients should view this API as providing a

stream of events, where batches are used to reduce IPC load on the

system.

- response `events` A vector of at most `MAX_EVENTS` events.

Allocates 16 bytes of request buffer on the stack. The callback is stored on the heap.