8#include "lockfree_pool.hpp"
无锁无序槽池 / Lock-free, unordered slot pool
ErrorCode Put(const Endpoint *&data)
USB端点基类 / USB Endpoint base class.
EPNumber
端点号 / Endpoint number
@ EP_AUTO
自动分配端点号 / Auto allocate
Direction
端点方向 Endpoint direction
USB端点池类 / USB endpoint pool class.
ErrorCode FindEndpoint(uint8_t ep_addr, Endpoint *&ans)
查找端点/ Lookup endpoint
EndpointPool(size_t endpoint_num)
构造函数 / Constructor
Endpoint * GetEndpoint0In()
获取端点0的IN对象 / Get Endpoint 0's IN object
void SetEndpoint0(Endpoint *ep0_in, Endpoint *ep0_out)
设置端点0的IN/OUT对象 / Set Endpoint 0 IN/OUT objects
Endpoint * ep0_in_
端点0 IN对象 / Endpoint 0 IN pointer
ErrorCode Get(Endpoint *&ep_info, Endpoint::Direction direction, Endpoint::EPNumber ep_num=Endpoint::EPNumber::EP_AUTO)
分配端点 / Allocate endpoint
Endpoint * ep0_out_
端点0 OUT对象 / Endpoint 0 OUT pointer
Endpoint * GetEndpoint0Out()
获取端点0的OUT对象 / Get Endpoint 0's OUT object
ErrorCode Release(Endpoint *ep_info)
回收端点 / Release endpoint