class MonitorClients

Defined at line 22 of file ../../src/sys/fuzzing/common/monitor-clients.h

This class encapsulates the pool of |fuchsia.fuzzer.Monitor| connections managed by the runner.

Public Methods

void MonitorClients (ExecutorPtr executor)

Defined at line 17 of file ../../src/sys/fuzzing/common/monitor-clients.cc

void Add (fidl::InterfaceHandle<Monitor> monitor)

Adds a subscriber for status updates.

Defined at line 19 of file ../../src/sys/fuzzing/common/monitor-clients.cc

void ~MonitorClients ()

Defined at line 25 of file ../../src/sys/fuzzing/common/monitor-clients.h

void Update (UpdateReason reason)

Collects the current status, labels it with the given |reason|, and schedules a promise to send

it to all the attached |Monitor|s. Multiple calls to |Update| are guaraneteed to be performed

in sequence. If |reason| is |DONE|, this will |CloseAll| connections on completion of the

scheduled promise.

Defined at line 26 of file ../../src/sys/fuzzing/common/monitor-clients.cc

bool active ()

Defined at line 27 of file ../../src/sys/fuzzing/common/monitor-clients.h

Status status ()

Defined at line 29 of file ../../src/sys/fuzzing/common/monitor-clients.h

void set_status (Status && status)

Defined at line 30 of file ../../src/sys/fuzzing/common/monitor-clients.h

Promise<> AwaitAcknowledgement ()

Returns a promise that waits for a previous |Update| to be acknowledged by the monitors. This

is mostly useful when testing; in normal operation |Update|s can be treated as "fire and

forget".

Defined at line 55 of file ../../src/sys/fuzzing/common/monitor-clients.cc

void CloseAll ()

Closes all monitor connections.

Defined at line 60 of file ../../src/sys/fuzzing/common/monitor-clients.cc