...
This commit is contained in:
@@ -11,12 +11,13 @@ ABSTRACT DEVICE COMPONENTS LIBRARY
|
||||
#include <utility>
|
||||
|
||||
|
||||
#include "adc_netmsg.h"
|
||||
|
||||
namespace adc
|
||||
{
|
||||
|
||||
|
||||
template <typename NetMessageT, typename ImplT>
|
||||
template <typename ImplT>
|
||||
class AdcNetService
|
||||
{
|
||||
protected:
|
||||
@@ -56,13 +57,13 @@ public:
|
||||
}
|
||||
|
||||
|
||||
template <typename... ArgTs>
|
||||
template <traits::adc_netmessage_c NetMessageT, typename... ArgTs>
|
||||
auto asyncSend(const NetMessageT& msg, const timeout_drtn_t& timeout = defaultSendTimeout, ArgTs&&... args)
|
||||
{
|
||||
return _impl.asyncSend(msg, timeout, std::forward<ArgTs>(args)...);
|
||||
}
|
||||
|
||||
template <typename... ArgTs>
|
||||
template <traits::adc_netmessage_c NetMessageT, typename... ArgTs>
|
||||
auto asyncReceive(const timeout_drtn_t& timeout = defaultRecvTimeout, ArgTs&&... args)
|
||||
{
|
||||
return _impl.asyncReceive(timeout, std::forward<ArgTs>(args)...);
|
||||
@@ -78,14 +79,14 @@ public:
|
||||
return _impl.connect(endpoint, timeout, std::forward<ArgTs>(args)...);
|
||||
}
|
||||
|
||||
template <typename... ArgTs>
|
||||
template <traits::adc_netmessage_c NetMessageT, typename... ArgTs>
|
||||
auto send(const NetMessageT& msg, const timeout_drtn_t& timeout = defaultSendTimeout, ArgTs&&... args)
|
||||
{
|
||||
return _impl.send(msg, timeout, std::forward<ArgTs>(args)...);
|
||||
}
|
||||
|
||||
|
||||
template <typename... ArgTs>
|
||||
template <traits::adc_netmessage_c NetMessageT, typename... ArgTs>
|
||||
NetMessageT receive(const timeout_drtn_t& timeout = defaultRecvTimeout, ArgTs&&... args)
|
||||
{
|
||||
return _impl.receive(timeout, std::forward<ArgTs>(args)...);
|
||||
@@ -102,11 +103,11 @@ public:
|
||||
namespace traits
|
||||
{
|
||||
|
||||
// template <typename T>
|
||||
// concept adc_netservice_c = requires {
|
||||
// typename T::impl_t;
|
||||
// std::derived_from<AdcNetService<typename T::impl_t>>;
|
||||
// };
|
||||
template <typename T>
|
||||
concept adc_netservice_c = requires {
|
||||
typename T::impl_t;
|
||||
std::derived_from<T, AdcNetService<typename T::impl_t>>;
|
||||
};
|
||||
|
||||
} // namespace traits
|
||||
|
||||
|
||||
Reference in New Issue
Block a user