| // Copyright 2025 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.diagnostics; |
| |
| @discoverable(server="platform") |
| @available(added=HEAD) |
| open protocol LogFlusher { |
| /// Flushes all pending logs through the logging pipeline |
| /// to the serial port. Logs written to sockets prior to |
| /// the call to Flush are guaranteed to be fully written |
| /// to serial when this returns. Logs written to sockets |
| /// after this call has been received by Archivist are |
| /// not guaranteed to be flushed. |
| /// Additionally, sockets must actually be connected to the Archivist |
| /// before this call is made. If a socket hasn't been |
| /// received by Archivist yet, those logs may be dropped. |
| /// To ensure that logs are properly flushed, make sure |
| /// to wait for the initial interest when logging. |
| /// Important note: This may be called from the host, |
| /// but host sockets will NOT be flushed by this method. |
| /// If you write data from the host (not on the device, |
| /// there is no guarantee that such logs will ever be printed). |
| flexible WaitUntilFlushed() -> (); |
| }; |