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