![]() |
AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#include "AuctionHouseSearcher.h"
Public Member Functions | |
AuctionHouseWorkerThread (ProducerConsumerQueue< AuctionSearcherRequest * > *requestQueue, MPSCQueue< AuctionSearcherResponse > *responseQueue) | |
void | Stop () |
void | AddAuctionSearchUpdateToQueue (std::shared_ptr< AuctionSearcherUpdate > const auctionSearchUpdate) |
Private Member Functions | |
void | Run () |
void | ProcessSearchUpdates () |
void | SearchUpdateAdd (AuctionSearchAdd const &auctionAdd) |
void | SearchUpdateRemove (AuctionSearchRemove const &auctionRemove) |
void | SearchUpdateBid (AuctionSearchUpdateBid const &auctionUpdateBid) |
void | ProcessSearchRequests () |
void | SearchListRequest (AuctionSearchListRequest const &searchListRequest) |
void | SearchOwnerListRequest (AuctionSearchOwnerListRequest const &searchOwnerListRequest) |
void | SearchBidderListRequest (AuctionSearchBidderListRequest const &searchBidderListRequest) |
void | BuildListAuctionItems (AuctionSearchListRequest const &searchRequest, SortableAuctionEntriesList &auctionEntries, SearchableAuctionEntriesMap const &auctionMap) const |
SearchableAuctionEntriesMap & | GetSearchableAuctionMap (AuctionHouseFaction faction) |
Private Attributes | |
SearchableAuctionEntriesMap | _searchableAuctionMap [MAX_AUCTION_HOUSE_FACTIONS] |
LockedQueue< std::shared_ptr< AuctionSearcherUpdate > > | _auctionUpdatesQueue |
ProducerConsumerQueue< AuctionSearcherRequest * > * | _requestQueue |
MPSCQueue< AuctionSearcherResponse > * | _responseQueue |
std::thread | _workerThread |
std::atomic< bool > | _stopped |
AuctionHouseWorkerThread::AuctionHouseWorkerThread | ( | ProducerConsumerQueue< AuctionSearcherRequest * > * | requestQueue, |
MPSCQueue< AuctionSearcherResponse > * | responseQueue | ||
) |
References _requestQueue, _responseQueue, _stopped, _workerThread, and Run().
void AuctionHouseWorkerThread::AddAuctionSearchUpdateToQueue | ( | std::shared_ptr< AuctionSearcherUpdate > const | auctionSearchUpdate | ) |
References _auctionUpdatesQueue, and LockedQueue< T, StorageType >::add().
|
private |
References ItemTemplate::Class, AuctionHouseSearchInfo::inventoryType, ItemTemplate::InventoryType, INVTYPE_CHEST, INVTYPE_ROBE, AuctionHouseSearchInfo::itemClass, SearchableAuctionEntryItem::itemName, AuctionHouseSearchInfo::itemSubClass, SearchableAuctionEntryItem::itemTemplate, AuctionHouseSearchInfo::levelmax, AuctionHouseSearchInfo::levelmin, AuctionHousePlayerInfo::loc_idx, AuctionSearchListRequest::playerInfo, AuctionHouseSearchInfo::quality, ItemTemplate::Quality, ItemTemplate::RequiredLevel, AuctionSearchListRequest::searchInfo, ItemTemplate::SubClass, AuctionHouseSearchInfo::usable, AuctionHousePlayerInfo::usablePlayerInfo, and AuctionHouseSearchInfo::wsearchedname.
Referenced by SearchListRequest().
|
inlineprivate |
References _searchableAuctionMap.
Referenced by SearchBidderListRequest(), SearchListRequest(), SearchOwnerListRequest(), SearchUpdateAdd(), SearchUpdateBid(), and SearchUpdateRemove().
|
private |
References _requestQueue, AuctionSearcherRequest::BIDDER_LIST, AuctionSearcherRequest::LIST, AuctionSearcherRequest::OWNER_LIST, ProducerConsumerQueue< T >::Pop(), AuctionSearcherRequest::requestType, SearchBidderListRequest(), SearchListRequest(), and SearchOwnerListRequest().
Referenced by Run().
|
private |
References _auctionUpdatesQueue, AuctionSearcherUpdate::ADD, LockedQueue< T, StorageType >::next(), AuctionSearcherUpdate::REMOVE, SearchUpdateAdd(), SearchUpdateBid(), SearchUpdateRemove(), and AuctionSearcherUpdate::UPDATE_BID.
Referenced by Run().
|
private |
References _stopped, ProcessSearchRequests(), and ProcessSearchUpdates().
Referenced by AuctionHouseWorkerThread().
|
private |
References _responseQueue, AUCTION_SEARCH_DELAY, GetSearchableAuctionMap(), WorldPacket::Initialize(), AuctionSearcherRequest::listFaction, AuctionSearchBidderListRequest::outbiddedAuctionIds, AuctionSearchBidderListRequest::ownerGuid, AuctionSearcherResponse::packet, AuctionSearcherResponse::playerGuid, ByteBuffer::put(), and SMSG_AUCTION_BIDDER_LIST_RESULT.
Referenced by ProcessSearchRequests().
|
private |
References _responseQueue, AUCTION_SEARCH_DELAY, BuildListAuctionItems(), AuctionHouseSearchInfo::getAll, GetSearchableAuctionMap(), WorldPacket::Initialize(), AuctionSearcherRequest::listFaction, AuctionHouseSearchInfo::listfrom, AuctionHousePlayerInfo::loc_idx, MAX_AUCTIONS_PER_PAGE, MAX_GETALL_RETURN, AuctionSearcherResponse::packet, AuctionHousePlayerInfo::playerGuid, AuctionSearcherResponse::playerGuid, AuctionSearchListRequest::playerInfo, ByteBuffer::put(), AuctionSearchListRequest::searchInfo, SMSG_AUCTION_LIST_RESULT, and AuctionHouseSearchInfo::sorting.
Referenced by ProcessSearchRequests().
|
private |
References _responseQueue, AUCTION_SEARCH_DELAY, GetSearchableAuctionMap(), WorldPacket::Initialize(), AuctionSearcherRequest::listFaction, AuctionSearchOwnerListRequest::ownerGuid, AuctionSearcherResponse::packet, AuctionSearcherResponse::playerGuid, ByteBuffer::put(), and SMSG_AUCTION_OWNER_LIST_RESULT.
Referenced by ProcessSearchRequests().
|
private |
References GetSearchableAuctionMap(), AuctionSearcherUpdate::listFaction, and AuctionSearchAdd::searchableAuctionEntry.
Referenced by ProcessSearchUpdates().
|
private |
References AuctionSearchUpdateBid::auctionId, AuctionSearchUpdateBid::bid, AuctionSearchUpdateBid::bidderGuid, GetSearchableAuctionMap(), and AuctionSearcherUpdate::listFaction.
Referenced by ProcessSearchUpdates().
|
private |
References AuctionSearchRemove::auctionId, GetSearchableAuctionMap(), and AuctionSearcherUpdate::listFaction.
Referenced by ProcessSearchUpdates().
void AuctionHouseWorkerThread::Stop | ( | ) |
References _stopped, and _workerThread.
|
private |
Referenced by AddAuctionSearchUpdateToQueue(), and ProcessSearchUpdates().
|
private |
Referenced by AuctionHouseWorkerThread(), and ProcessSearchRequests().
|
private |
Referenced by AuctionHouseWorkerThread(), SearchBidderListRequest(), SearchListRequest(), and SearchOwnerListRequest().
|
private |
Referenced by GetSearchableAuctionMap().
|
private |
Referenced by AuctionHouseWorkerThread(), Run(), and Stop().
|
private |
Referenced by AuctionHouseWorkerThread(), and Stop().