getDatabase and associated functions

pull/1/head
Ryan Tharp 6 years ago
parent 932e04c81f
commit 2e74bce713

@ -39,12 +39,15 @@ llarp_main_loadDatabase(struct llarp_main *ptr);
int
llarp_main_iterateDatabase(struct llarp_main *ptr, struct llarp_nodedb_iter i);
/// put RC into nodeDB
bool
llarp_main_putDatabase(struct llarp_main *ptr, struct llarp_rc *rc);
struct llarp_rc *
llarp_main_getDatabase(struct llarp_main *ptr, byte_t *pk);
void
llarp_main_free(struct llarp_main *ptr);

@ -42,6 +42,9 @@ namespace llarp
bool
PutDatabase(struct llarp_rc *rc);
struct llarp_rc *
GetDatabase(const byte_t *pk);
int
Run();

@ -118,6 +118,11 @@ namespace llarp
return llarp_nodedb_put_rc(nodedb, rc);
}
struct llarp_rc *
Context::GetDatabase(const byte_t *pk)
{
return llarp_nodedb_get_rc(nodedb, pk);
}
int
Context::Run()
@ -328,6 +333,11 @@ llarp_main_putDatabase(struct llarp_main *ptr, struct llarp_rc *rc)
return ptr->ctx->PutDatabase(rc);
}
struct llarp_rc *
llarp_main_getDatabase(struct llarp_main *ptr, byte_t *pk)
{
return ptr->ctx->GetDatabase(pk);
}
void
llarp_main_free(struct llarp_main *ptr)

@ -0,0 +1,21 @@
#include <llarp/encode.hpp>
int char2int(char input)
{
if(input >= '0' && input <= '9')
return input - '0';
if(input >= 'A' && input <= 'F')
return input - 'A' + 10;
if(input >= 'a' && input <= 'f')
return input - 'a' + 10;
throw std::invalid_argument("Invalid input string");
}
void HexDecode(const char* src, uint8_t* target)
{
while(*src && src[1])
{
*(target++) = char2int(*src)*16 + char2int(src[1]);
src += 2;
}
}
Loading…
Cancel
Save