// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: grpc/channelz/channelz.proto

package io.grpc.channelz.v1;

public interface SocketOptionTimeoutOrBuilder extends
    // @@protoc_insertion_point(interface_extends:grpc.channelz.SocketOptionTimeout)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <code>.google.protobuf.Duration duration = 1;</code>
   */
  boolean hasDuration();
  /**
   * <code>.google.protobuf.Duration duration = 1;</code>
   */
  com.google.protobuf.Duration getDuration();
  /**
   * <code>.google.protobuf.Duration duration = 1;</code>
   */
  com.google.protobuf.DurationOrBuilder getDurationOrBuilder();
}
