42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
|
/***
|
||
|
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
||
|
|
||
|
File: AuNetSocketServerAcceptReadOperation.NT.hpp
|
||
|
Date: 2022-8-22
|
||
|
Author: Reece
|
||
|
***/
|
||
|
#pragma once
|
||
|
|
||
|
#include "AuNetSocketServerAcceptReadOperation.hpp"
|
||
|
|
||
|
namespace Aurora::IO::Net
|
||
|
{
|
||
|
struct NetInterface;
|
||
|
|
||
|
struct SocketServerAcceptReadOperation :
|
||
|
virtual SocketServerAcceptReadOperationBase
|
||
|
{
|
||
|
SocketServerAcceptReadOperation(NetInterface *pInterface,
|
||
|
SocketServer *pParent);
|
||
|
|
||
|
bool IsValid();
|
||
|
|
||
|
virtual void OnOverlappedComplete() override;
|
||
|
virtual void OnOverlappedFailure(const NetError &error) override;
|
||
|
|
||
|
void DoNext();
|
||
|
bool DoTick();
|
||
|
void AU_NOINLINE InitOnce();
|
||
|
bool Pretick();
|
||
|
|
||
|
void UpdateNextSocketAddresses();
|
||
|
|
||
|
protected:
|
||
|
LPFN_ACCEPTEX lpfnAcceptEx {};
|
||
|
SOCKET nextSocket {};
|
||
|
AuSPtr<Socket> nextSocketPtr;
|
||
|
NetInterface *pInterface_;
|
||
|
AuList<AuUInt8> addresses_;
|
||
|
DWORD addressLengthA_ {};
|
||
|
};
|
||
|
}
|