#include "encoder.hpp" namespace llarp { /// encode Link Introduce Message onto a buffer /// if router is nullptr then the LIM's r member is omitted. bool EncodeLIM(llarp_buffer_t* buff, llarp_rc* router) { if(!bencode_start_dict(buff)) return false; // message type if(!bencode_write_bytestring(buff, "a", 1)) return false; if(!bencode_write_bytestring(buff, "i", 1)) return false; // router contact if(router) { if(!bencode_write_bytestring(buff, "r", 1)) return false; if(!llarp_rc_bencode(router, buff)) return false; } // version if(!bencode_write_version_entry(buff)) return false; return bencode_end(buff); } } // namespace llarp