6 namespace org { namespace ldk { namespace structs {
12 public class TwoTuple_PublicKeyCVec_SocketAddressZZ : CommonBase {
13 internal TwoTuple_PublicKeyCVec_SocketAddressZZ(object _dummy, long ptr) : base(ptr) { }
14 ~TwoTuple_PublicKeyCVec_SocketAddressZZ() {
15 if (ptr != 0) { bindings.C2Tuple_PublicKeyCVec_SocketAddressZZ_free(ptr); }
21 public byte[] get_a() {
22 long ret = bindings.C2Tuple_PublicKeyCVec_SocketAddressZZ_get_a(this.ptr);
24 if (ret >= 0 && ret <= 4096) { return null; }
25 byte[] ret_conv = InternalUtils.decodeUint8Array(ret);
32 public SocketAddress[] get_b() {
33 long ret = bindings.C2Tuple_PublicKeyCVec_SocketAddressZZ_get_b(this.ptr);
35 if (ret >= 0 && ret <= 4096) { return null; }
36 int ret_conv_15_len = InternalUtils.getArrayLength(ret);
37 SocketAddress[] ret_conv_15_arr = new SocketAddress[ret_conv_15_len];
38 for (int p = 0; p < ret_conv_15_len; p++) {
39 long ret_conv_15 = InternalUtils.getU64ArrayElem(ret, p);
40 org.ldk.structs.SocketAddress ret_conv_15_hu_conv = org.ldk.structs.SocketAddress.constr_from_ptr(ret_conv_15);
41 if (ret_conv_15_hu_conv != null) { ret_conv_15_hu_conv.ptrs_to.AddLast(this); };
42 ret_conv_15_arr[p] = ret_conv_15_hu_conv;
44 bindings.free_buffer(ret);
45 return ret_conv_15_arr;
48 internal long clone_ptr() {
49 long ret = bindings.C2Tuple_PublicKeyCVec_SocketAddressZZ_clone_ptr(this.ptr);
55 * Creates a new tuple which has the same data as `orig`
56 * but with all dynamically-allocated buffers duplicated in new buffers.
58 public TwoTuple_PublicKeyCVec_SocketAddressZZ clone() {
59 long ret = bindings.C2Tuple_PublicKeyCVec_SocketAddressZZ_clone(this.ptr);
61 if (ret >= 0 && ret <= 4096) { return null; }
62 TwoTuple_PublicKeyCVec_SocketAddressZZ ret_hu_conv = new TwoTuple_PublicKeyCVec_SocketAddressZZ(null, ret);
63 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
68 * Creates a new C2Tuple_PublicKeyCVec_SocketAddressZZ from the contained elements.
70 public static TwoTuple_PublicKeyCVec_SocketAddressZZ of(byte[] a, SocketAddress[] b) {
71 long ret = bindings.C2Tuple_PublicKeyCVec_SocketAddressZZ_new(InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(a, 33)), InternalUtils.encodeUint64Array(InternalUtils.mapArray(b, b_conv_15 => b_conv_15.ptr)));
74 if (ret >= 0 && ret <= 4096) { return null; }
75 TwoTuple_PublicKeyCVec_SocketAddressZZ ret_hu_conv = new TwoTuple_PublicKeyCVec_SocketAddressZZ(null, ret);
76 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
77 foreach (SocketAddress b_conv_15 in b) { if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(b_conv_15); }; };