Class LogEntryServerStream

java.lang.Object
com.google.cloud.logging.LogEntryServerStream
All Implemented Interfaces:
Iterable<LogEntry>

public class LogEntryServerStream extends Object implements Iterable<LogEntry>
The class implements Iterable interface over . It wraps around BidiStream bi-directional gRPC stream to support iterating through ingested responses. The class uses to iterate through the processed responses. The stream should be explicitly canceled by calling method. The class does not provide recovery or resuming functionality over the stream.

To iterate run:


 LogEntryServerStream stream;
 // code to initialize stream
 for (LogEntry log : stream) {
   // do something with logs
 }
 stream.cancel();
 

The iteration can be blocked on waiting for another response sent in the stream.

  • Method Details

    • iterator

      public Iterator<LogEntry> iterator()
      Specified by:
      iterator in interface Iterable<LogEntry>
    • getInternalStream

      public com.google.api.gax.rpc.BidiStream<TailLogEntriesRequest,TailLogEntriesResponse> getInternalStream()
    • convert

      public List<LogEntry> convert(TailLogEntriesResponse resp)
    • isReceiveReady

      public boolean isReceiveReady()
      Returns true if the next call to the iterator's hasNext() or next() is guaranteed to be nonblocking.
      Returns:
      If the call on any of the iterator's methods is guaranteed to be nonblocking.
    • cancel

      public void cancel()
      Cleanly cancels a partially consumed stream. The associated iterator will return false for the hasNext() in the next iteration. This maintains the contract that an observed true from hasNext() will yield an item in next(), but afterwards will return false.