summaryrefslogtreecommitdiff
path: root/src/PeerMessageUtil.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/PeerMessageUtil.cc')
-rw-r--r--src/PeerMessageUtil.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/PeerMessageUtil.cc b/src/PeerMessageUtil.cc
index 0665939f..eb526407 100644
--- a/src/PeerMessageUtil.cc
+++ b/src/PeerMessageUtil.cc
@@ -135,3 +135,11 @@ bool PeerMessageUtil::createcompact(char* compact, const string& addr, uint16_t
return true;
}
+pair<string, uint16_t> PeerMessageUtil::unpackcompact(const char* compact)
+{
+ struct in_addr in;
+ in.s_addr = *(uint32_t*)(compact);
+ string ipaddr = inet_ntoa(in);
+ uint16_t port = ntohs(*(uint16_t*)(compact+sizeof(uint32_t)));
+ return pair<string, uint16_t>(ipaddr, port);
+}