...

Source file src/google.golang.org/grpc/internal/channelz/syscall_nonlinux.go

Documentation: google.golang.org/grpc/internal/channelz

     1  //go:build !linux
     2  
     3  /*
     4   *
     5   * Copyright 2018 gRPC authors.
     6   *
     7   * Licensed under the Apache License, Version 2.0 (the "License");
     8   * you may not use this file except in compliance with the License.
     9   * You may obtain a copy of the License at
    10   *
    11   *     http://www.apache.org/licenses/LICENSE-2.0
    12   *
    13   * Unless required by applicable law or agreed to in writing, software
    14   * distributed under the License is distributed on an "AS IS" BASIS,
    15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    16   * See the License for the specific language governing permissions and
    17   * limitations under the License.
    18   *
    19   */
    20  
    21  package channelz
    22  
    23  import (
    24  	"sync"
    25  )
    26  
    27  var once sync.Once
    28  
    29  // SocketOptionData defines the struct to hold socket option data, and related
    30  // getter function to obtain info from fd.
    31  // Windows OS doesn't support Socket Option
    32  type SocketOptionData struct {
    33  }
    34  
    35  // Getsockopt defines the function to get socket options requested by channelz.
    36  // It is to be passed to syscall.RawConn.Control().
    37  // Windows OS doesn't support Socket Option
    38  func (s *SocketOptionData) Getsockopt(fd uintptr) {
    39  	once.Do(func() {
    40  		logger.Warning("Channelz: socket options are not supported on non-linux environments")
    41  	})
    42  }
    43  
    44  // GetSocketOption gets the socket option info of the conn.
    45  func GetSocketOption(c any) *SocketOptionData {
    46  	return nil
    47  }
    48  

View as plain text