3 public class NetAddress {
5 public internal(set) var cOpaqueStruct: LDKNetAddress?;
9 public init(pointer: LDKNetAddress){
10 self.cOpaqueStruct = pointer
13 /* OPTION_METHODS_START */
15 public enum NetAddressValueType {
16 case IPv4, IPv6, OnionV2, OnionV3
19 public func getValueType() -> NetAddressValueType? {
20 switch self.cOpaqueStruct?.tag {
22 case LDKNetAddress_IPv4:
24 case LDKNetAddress_IPv6:
26 case LDKNetAddress_OnionV2:
28 case LDKNetAddress_OnionV3:
36 public func getValueAsIPv4() -> IPv4? {
37 if self.cOpaqueStruct?.tag != LDKNetAddress_IPv4 {
40 return IPv4(pointer: self.cOpaqueStruct!.i_pv4)
43 public func getValueAsIPv6() -> IPv6? {
44 if self.cOpaqueStruct?.tag != LDKNetAddress_IPv6 {
47 return IPv6(pointer: self.cOpaqueStruct!.i_pv6)
50 public func getValueAsOnionV2() -> OnionV2? {
51 if self.cOpaqueStruct?.tag != LDKNetAddress_OnionV2 {
54 return OnionV2(pointer: self.cOpaqueStruct!.onion_v2)
57 public func getValueAsOnionV3() -> OnionV3? {
58 if self.cOpaqueStruct?.tag != LDKNetAddress_OnionV3 {
61 return OnionV3(pointer: self.cOpaqueStruct!.onion_v3)
65 /* OPTION_METHODS_END */
72 var cOpaqueStruct: LDKNetAddress_LDKIPv4_Body?;
73 fileprivate init(pointer: LDKNetAddress_LDKIPv4_Body) {
74 self.cOpaqueStruct = pointer
79 public func getAddr() -> [UInt8] {
80 return Bindings.LDKFourBytes_to_array(nativeType: self.cOpaqueStruct!.addr)
83 public func getPort() -> UInt16 {
84 return self.cOpaqueStruct!.port
94 var cOpaqueStruct: LDKNetAddress_LDKIPv6_Body?;
95 fileprivate init(pointer: LDKNetAddress_LDKIPv6_Body) {
96 self.cOpaqueStruct = pointer
101 public func getAddr() -> [UInt8] {
102 return Bindings.LDKSixteenBytes_to_array(nativeType: self.cOpaqueStruct!.addr)
105 public func getPort() -> UInt16 {
106 return self.cOpaqueStruct!.port
113 public class OnionV2 {
116 var cOpaqueStruct: LDKNetAddress_LDKOnionV2_Body?;
117 fileprivate init(pointer: LDKNetAddress_LDKOnionV2_Body) {
118 self.cOpaqueStruct = pointer
123 public func getAddr() -> [UInt8] {
124 return Bindings.LDKTenBytes_to_array(nativeType: self.cOpaqueStruct!.addr)
127 public func getPort() -> UInt16 {
128 return self.cOpaqueStruct!.port
135 public class OnionV3 {
138 var cOpaqueStruct: LDKNetAddress_LDKOnionV3_Body?;
139 fileprivate init(pointer: LDKNetAddress_LDKOnionV3_Body) {
140 self.cOpaqueStruct = pointer
145 public func getEd25519_pubkey() -> [UInt8] {
146 return Bindings.LDKThirtyTwoBytes_to_array(nativeType: self.cOpaqueStruct!.ed25519_pubkey)
149 public func getChecksum() -> UInt16 {
150 return self.cOpaqueStruct!.checksum
153 public func getVersion() -> UInt8 {
154 return self.cOpaqueStruct!.version
157 public func getPort() -> UInt16 {
158 return self.cOpaqueStruct!.port