cubefs

Форк
0
39 строк · 997.0 Байт
1
// +build linux,!appengine
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
	"syscall"
25
)
26

27
// GetSocketOption gets the socket option info of the conn.
28
func GetSocketOption(socket interface{}) *SocketOptionData {
29
	c, ok := socket.(syscall.Conn)
30
	if !ok {
31
		return nil
32
	}
33
	data := &SocketOptionData{}
34
	if rawConn, err := c.SyscallConn(); err == nil {
35
		rawConn.Control(data.Getsockopt)
36
		return data
37
	}
38
	return nil
39
}
40

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.