template <>

class WireServer

Defined at line 1869 of file fidling/gen/sdk/fidl/fuchsia.feedback/fuchsia.feedback/cpp/fidl/fuchsia.feedback/cpp/wire_messaging.h

Pure-virtual interface to be implemented by a server.

This interface uses typed channels (i.e. |::fidl::ClientEnd

<

::fuchsia_feedback::ComponentDataRegister>|

and |::fidl::ServerEnd

<

::fuchsia_feedback::ComponentDataRegister>|).

Public Methods

void Upsert (::fuchsia_feedback::wire::ComponentDataRegisterUpsertRequest * request, UpsertCompleter::Sync & completer)

Upserts, i.e. updates or inserts, extra component data to be included in feedback reports.

The namespace and each annotation key are used to decide whether to update or insert an

annotation. If an annotation is already present for a given key within the same namespace,

update the value, otherwise insert the annotation with that key under that namespace.

For instance, assuming these are the data already held by the server (from previous calls

to Upsert()):

```

{

"bar": { # namespace

"channel": "stable",

},

"foo": { # namespace

"version": "0.2",

}

}

```

then:

```

Upsert({

"namespace": "bar",

"annotations": [

"version": "1.2.3.45",

"channel": "beta",

]

})

```

would result in the server now holding:

```

{

"bar": { # namespace

"channel": "beta", # updated

"version": "1.2.3.45" # inserted

},

"foo": { # namespace

"version": "0.2", # untouched

}

}

```

Note that the server will only hold at most MAX_NUM_ANNOTATIONS_PER_NAMESPACE distinct

annotation keys per namespace, picking up the latest values.

void WireServer ()

Defined at line 1872 of file fidling/gen/sdk/fidl/fuchsia.feedback/fuchsia.feedback/cpp/fidl/fuchsia.feedback/cpp/wire_messaging.h

Handler bind_handler (async_dispatcher_t * dispatcher)

|bind_handler| returns a handler that binds incoming connections to this

server implementation.

The returned handler borrows the server instance.

The server must outlive the provided |dispatcher|. Only after

the dispatcher is shutdown will it be safe to destroy the servers.

The server should not be moved.

void ~WireServer ()

Defined at line 1873 of file fidling/gen/sdk/fidl/fuchsia.feedback/fuchsia.feedback/cpp/fidl/fuchsia.feedback/cpp/wire_messaging.h