![]() |
AzerothCore 3.3.5a
OpenSource WoW Emulator
|
#include "AuctionHouseSearcher.h"
Public Member Functions | |
AuctionHouseSearcher () | |
~AuctionHouseSearcher () | |
void | Update () |
void | QueueSearchRequest (AuctionSearcherRequest *searchRequestInfo) |
void | AddAuction (AuctionEntry const *auctionEntry) |
void | RemoveAuction (AuctionEntry const *auctionEntry) |
void | UpdateBid (AuctionEntry const *auctionEntry) |
void | NotifyAllWorkers (std::shared_ptr< AuctionSearcherUpdate > const auctionSearchUpdate) |
void | NotifyOneWorker (std::shared_ptr< AuctionSearcherUpdate > const auctionSearchUpdate) |
Private Attributes | |
ProducerConsumerQueue< AuctionSearcherRequest * > | _requestQueue |
MPSCQueue< AuctionSearcherResponse > | _responseQueue |
std::vector< std::unique_ptr< AuctionHouseWorkerThread > > | _workerThreads |
AuctionHouseSearcher::AuctionHouseSearcher | ( | ) |
References _requestQueue, _responseQueue, _workerThreads, CONFIG_AUCTIONHOUSE_WORKERTHREADS, and sWorld.
AuctionHouseSearcher::~AuctionHouseSearcher | ( | ) |
References _requestQueue, _workerThreads, and ProducerConsumerQueue< T >::Cancel().
void AuctionHouseSearcher::AddAuction | ( | AuctionEntry const * | auctionEntry | ) |
References AuctionEntry::bid, AuctionEntry::bidder, AuctionEntry::buyout, AuctionEntry::expire_time, Item::GetCount(), Item::GetEnchantmentCharges(), Item::GetEnchantmentDuration(), Item::GetEnchantmentId(), Object::GetEntry(), AuctionEntry::GetFactionId(), Item::GetItemRandomPropertyId(), Item::GetItemSuffixFactor(), Item::GetSpellCharges(), Item::GetTemplate(), AuctionEntry::Id, AuctionEntry::item_guid, MAX_INSPECTED_ENCHANTMENT_SLOT, NotifyAllWorkers(), AuctionEntry::owner, sAuctionMgr, sCharacterCache, and AuctionEntry::startbid.
void AuctionHouseSearcher::NotifyAllWorkers | ( | std::shared_ptr< AuctionSearcherUpdate > const | auctionSearchUpdate | ) |
References _workerThreads.
Referenced by AddAuction(), and RemoveAuction().
void AuctionHouseSearcher::NotifyOneWorker | ( | std::shared_ptr< AuctionSearcherUpdate > const | auctionSearchUpdate | ) |
References _workerThreads.
Referenced by UpdateBid().
void AuctionHouseSearcher::QueueSearchRequest | ( | AuctionSearcherRequest * | searchRequestInfo | ) |
References _requestQueue, and ProducerConsumerQueue< T >::Push().
void AuctionHouseSearcher::RemoveAuction | ( | AuctionEntry const * | auctionEntry | ) |
References AuctionEntry::GetFactionId(), AuctionEntry::Id, and NotifyAllWorkers().
void AuctionHouseSearcher::Update | ( | ) |
References _responseQueue, ObjectAccessor::FindConnectedPlayer(), Player::GetSession(), AuctionSearcherResponse::packet, AuctionSearcherResponse::playerGuid, and WorldSession::SendPacket().
Referenced by AuctionHouseMgr::Update().
void AuctionHouseSearcher::UpdateBid | ( | AuctionEntry const * | auctionEntry | ) |
References AuctionEntry::bid, AuctionEntry::bidder, AuctionEntry::GetFactionId(), AuctionEntry::Id, and NotifyOneWorker().
|
private |
Referenced by AuctionHouseSearcher(), QueueSearchRequest(), and ~AuctionHouseSearcher().
|
private |
Referenced by AuctionHouseSearcher(), and Update().
|
private |
Referenced by AuctionHouseSearcher(), NotifyAllWorkers(), NotifyOneWorker(), and ~AuctionHouseSearcher().