CommandLineToolkit

Форк
0
57 строк · 1.6 Кб
1
import Foundation
2

3
public struct LaunchdSocket {
4
    public enum SocketType: String {
5
        /** TCP */
6
        case stream
7
        /** UDP */
8
        case dgram
9
    }
10
    
11
    public enum SocketPassivity {
12
        /** Socket will listen for the new connections */
13
        case listen
14
        /** Socket will connect */
15
        case connect
16
    }
17
    
18
    public enum SockServiceName {
19
        /** "ssh", "http", etc. */
20
        case name(String)
21
        /** 443, 8888, etc. */
22
        case port(Int)
23
    }
24
    
25
    public enum SocketFamily: String {
26
        case ipv4 = "IPv4"
27
        case ipv6 = "IPv6"
28
        case ipv4v6 = "IPv4v6"
29
        case unix = "Unix"
30
    }
31
    
32
    public let socketType: SocketType?
33
    public let socketPassive: SocketPassivity?
34
    public let socketFamily: SocketFamily?
35
    public let socketNodeName: String?
36
    public let socketServiceName: SockServiceName?
37
    public let socketPathName: String?
38
    public let socketPathMode: Int?
39
    
40
    public init(
41
        socketType: SocketType? = nil,
42
        socketPassive: SocketPassivity? = nil,
43
        socketFamily: SocketFamily? = nil,
44
        socketNodeName: String? = nil,
45
        socketServiceName: SockServiceName? = nil,
46
        socketPathName: String? = nil,
47
        socketPathMode: Int? = nil
48
    ) {
49
        self.socketType = socketType
50
        self.socketPassive = socketPassive
51
        self.socketFamily = socketFamily
52
        self.socketNodeName = socketNodeName
53
        self.socketServiceName = socketServiceName
54
        self.socketPathName = socketPathName
55
        self.socketPathMode = socketPathMode
56
    }
57
}
58

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

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

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

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