This commit is contained in:
2024-10-09 18:08:29 +03:00
parent bd0654a8af
commit 5b50d714f7
4 changed files with 49 additions and 13 deletions

View File

@@ -18,9 +18,10 @@ public:
typedef SessionContextT netsession_ctx_t;
typedef AdcNetServiceASIOBase<TRANSPORT_PROTOT, SESSION_PROTOT, RMSGT> netservice_t;
typedef std::shared_ptr<netservice_t> netservice_sptr_t;
template <traits::adc_input_char_range R, traits::adc_is_callable RECV_MSG_TOKENT>
AdcGenericNetSessionASIO(const R& id, netservice_t netservice, netsession_ctx_t&& context)
template <traits::adc_input_char_range R>
AdcGenericNetSessionASIO(const R& id, netservice_sptr_t netservice, netsession_ctx_t&& context)
: _ident(), _netservice(std::move(netservice)), _sessionContext(std::forward<netsession_ctx_t>(context))
{
if constexpr (std::is_array_v<R>) {
@@ -30,7 +31,7 @@ public:
}
}
AdcGenericNetSessionASIO(netservice_t netservice, netsession_ctx_t&& context)
AdcGenericNetSessionASIO(netservice_sptr_t netservice, netsession_ctx_t&& context)
: AdcGenericNetSessionASIO(
std::derived_from<TRANSPORT_PROTOT, asio::ip::tcp> ? "ASIO TCP SESSION"
: std::derived_from<TRANSPORT_PROTOT, asio::ip::udp> ? "ASIO UDP SESSION"
@@ -76,7 +77,7 @@ public:
protected:
netsession_ident_t _ident;
std::shared_ptr<netservice_t> _netservice;
netservice_sptr_t _netservice;
netsession_ctx_t _sessionContext;