2019-08-07 16:33:29 +00:00
|
|
|
#include <link/factory.hpp>
|
2019-08-22 20:53:27 +00:00
|
|
|
#include <iwp/iwp.hpp>
|
2019-08-07 16:33:29 +00:00
|
|
|
#include <utp/utp.hpp>
|
|
|
|
|
|
|
|
namespace llarp
|
|
|
|
{
|
|
|
|
LinkFactory::LinkType
|
|
|
|
LinkFactory::TypeFromName(string_view str)
|
|
|
|
{
|
|
|
|
if(str == "utp")
|
|
|
|
return LinkType::eLinkUTP;
|
|
|
|
if(str == "iwp")
|
|
|
|
return LinkType::eLinkIWP;
|
|
|
|
if(str == "mempipe")
|
|
|
|
return LinkType::eLinkMempipe;
|
|
|
|
return LinkType::eLinkUnknown;
|
|
|
|
}
|
|
|
|
|
|
|
|
std::string
|
|
|
|
LinkFactory::NameFromType(LinkFactory::LinkType tp)
|
|
|
|
{
|
|
|
|
switch(tp)
|
|
|
|
{
|
|
|
|
case LinkType::eLinkUTP:
|
|
|
|
return "utp";
|
|
|
|
case LinkType::eLinkIWP:
|
|
|
|
return "iwp";
|
|
|
|
case LinkType::eLinkMempipe:
|
|
|
|
return "mempipe";
|
|
|
|
default:
|
|
|
|
return "unspec";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
LinkFactory::Factory
|
|
|
|
LinkFactory::Obtain(LinkFactory::LinkType tp, bool permitInbound)
|
|
|
|
{
|
|
|
|
switch(tp)
|
|
|
|
{
|
|
|
|
case LinkType::eLinkUTP:
|
|
|
|
if(permitInbound)
|
|
|
|
return llarp::utp::NewInboundLink;
|
|
|
|
return llarp::utp::NewOutboundLink;
|
2019-08-22 20:53:27 +00:00
|
|
|
case LinkType::eLinkIWP:
|
2019-08-07 16:33:29 +00:00
|
|
|
if(permitInbound)
|
2019-08-22 20:53:27 +00:00
|
|
|
return llarp::iwp::NewInboundLink;
|
|
|
|
return llarp::iwp::NewOutboundLink;
|
2019-08-07 16:33:29 +00:00
|
|
|
default:
|
|
|
|
return nullptr;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} // namespace llarp
|