aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/salticidae/network.h5
-rw-r--r--src/network.cpp11
2 files changed, 14 insertions, 2 deletions
diff --git a/include/salticidae/network.h b/include/salticidae/network.h
index e5cfa87..4d19261 100644
--- a/include/salticidae/network.h
+++ b/include/salticidae/network.h
@@ -1485,9 +1485,12 @@ bool msgnetwork_conn_is_terminated(const msgnetwork_conn_t *conn);
void peerid_free(const peerid_t *self);
peerid_t *peerid_new_from_netaddr(const netaddr_t *addr);
peerid_t *peerid_new_from_x509(const x509_t *cert);
+peerid_t *peerid_new_moved_from_uint256(uint256_t *_moved_rawid);
+peerid_t *peerid_new_copied_from_uint256(const uint256_t *rawid);
peerid_array_t *peerid_array_new();
peerid_array_t *peerid_array_new_from_peers(const peerid_t * const *peers, size_t npeers);
-void peerid_array_free(peerid_array_t *self);
+const uint256_t *peerid_as_uint256(const peerid_t *);
+void peerid_array_free(const peerid_array_t *self);
peernetwork_config_t *peernetwork_config_new();
void peernetwork_config_free(const peernetwork_config_t *self);
diff --git a/src/network.cpp b/src/network.cpp
index 4bbd4c5..d81b569 100644
--- a/src/network.cpp
+++ b/src/network.cpp
@@ -186,6 +186,14 @@ peerid_t *peerid_new_from_x509(const x509_t *cert) {
return new peerid_t(*cert);
}
+peerid_t *peerid_new_moved_from_uint256(uint256_t *_moved_rawid) {
+ return new peerid_t(std::move(*_moved_rawid));
+}
+
+peerid_t *peerid_new_copied_from_uint256(const uint256_t *rawid) {
+ return new peerid_t(*rawid);
+}
+
peerid_array_t *peerid_array_new() { return new peerid_array_t(); }
peerid_array_t *peerid_array_new_from_peers(const peerid_t * const *peers, size_t npeers) {
auto res = new peerid_array_t();
@@ -195,8 +203,9 @@ peerid_array_t *peerid_array_new_from_peers(const peerid_t * const *peers, size_
return res;
}
-void peerid_array_free(peerid_array_t *self) { delete self; }
+const uint256_t *peerid_as_uint256(const peerid_t *self) { return self; }
+void peerid_array_free(const peerid_array_t *self) { delete self; }
peernetwork_config_t *peernetwork_config_new() {
return new peernetwork_config_t();