Search Toolkit Book for CPSGS_CDDProcessor
#include "cdd_processor.hpp"
(Private to src/app/pubseq_gateway/server
.)
Definition at line 60 of file cdd_processor.hpp.
◆ CPSGS_CDDProcessor() [1/2] CPSGS_CDDProcessor::CPSGS_CDDProcessor ( void )Definition at line 145 of file cdd_processor.cpp.
References CTimeout::eDefault, IRegistry::GetDouble(), CPubseqGatewayApp::GetInstance(), IRegistry::GetInt(), kCDDProcessorSection, kDefaultCDDBackendTimeout, kDefaultMaxConn, kMax_UInt, kParamCDDBackendTimeout, kParamMaxConn, m_ClientPool, m_ThreadPool, min(), and registry.
Referenced by CreateProcessor().
◆ ~CPSGS_CDDProcessor() CPSGS_CDDProcessor::~CPSGS_CDDProcessor ( void ) override ◆ CPSGS_CDDProcessor() [2/2] CPSGS_CDDProcessor::CPSGS_CDDProcessor ( shared_ptr< objects::CCDDClientPool > client_pool, shared_ptr< ncbi::CThreadPool > thread_pool, shared_ptr< CPSGS_Request > request, shared_ptr< CPSGS_Reply > reply, TProcessorPriority priority ) private ◆ Cancel() void CPSGS_CDDProcessor::Cancel ( void ) overridevirtual ◆ CanProcess() ◆ CreateProcessor() ◆ GetBlobByBlobId() void CPSGS_CDDProcessor::GetBlobByBlobId ( void )Definition at line 509 of file cdd_processor.cpp.
References CCDDClientPool::BlobIdToString(), IPSGS_Processor::GetReply(), IPSGS_Processor::GetRequest(), kCDDProcessorName, m_BlobId, m_CDDBlob, m_ClientPool, m_Error, IPSGS_Processor::PostponeInvoke(), s_OnGotBlobByBlobId(), and string.
Referenced by CCDDThreadPoolTask_GetBlobByBlobId::Execute().
◆ GetBlobBySeqId() void CPSGS_CDDProcessor::GetBlobBySeqId ( void ) ◆ GetBlobId() void CPSGS_CDDProcessor::GetBlobId ( void ) ◆ GetGroupName() string CPSGS_CDDProcessor::GetGroupName ( void ) const overridevirtualTells the processor group name.
For example, all the processors which retrieve data from Cassandra should return the same name in response to this call. This name is used to control the total number of simultaneously working processors retrieving from the same backend.
Implements IPSGS_Processor.
Definition at line 316 of file cdd_processor.cpp.
References kCDDProcessorGroupName.
◆ GetName() string CPSGS_CDDProcessor::GetName ( void ) const overridevirtual ◆ GetStatus() ◆ OnGotBlobByBlobId() void CPSGS_CDDProcessor::OnGotBlobByBlobId ( void )Definition at line 630 of file cdd_processor.cpp.
References eNARetrieve, IPSGS_Processor::ePSGS_Done, IPSGS_Processor::ePSGS_Error, IPSGS_Processor::ePSGS_NotFound, IPSGS_Processor::GetReply(), IPSGS_Processor::GetRequest(), kCDDProcessorName, m_BlobId, m_CDDBlob, m_Error, s_SimulateError(), string, x_Finish(), x_IsCanceled(), x_RegisterTimingNotFound(), x_SendAnnot(), x_SendError(), and x_SignalStartProcessing().
◆ OnGotBlobBySeqId() void CPSGS_CDDProcessor::OnGotBlobBySeqId ( void )Definition at line 582 of file cdd_processor.cpp.
References eNAResolve, IPSGS_Processor::ePSGS_Done, IPSGS_Processor::ePSGS_Error, IPSGS_Processor::ePSGS_NotFound, SPSGS_AnnotRequest::ePSGS_RS_Error, SPSGS_AnnotRequest::ePSGS_RS_NotFound, IPSGS_Processor::GetReply(), IPSGS_Processor::GetRequest(), kCDDProcessorName, m_CDDBlob, m_Error, s_SimulateError(), string, x_Finish(), x_IsCanceled(), x_RegisterTimingNotFound(), x_ReportResultStatus(), x_SendAnnot(), x_SendAnnotInfo(), x_SendError(), and x_SignalStartProcessing().
◆ OnGotBlobId() void CPSGS_CDDProcessor::OnGotBlobId ( void )Definition at line 535 of file cdd_processor.cpp.
References eNAResolve, IPSGS_Processor::ePSGS_Done, IPSGS_Processor::ePSGS_Error, IPSGS_Processor::ePSGS_NotFound, SPSGS_AnnotRequest::ePSGS_RS_Error, SPSGS_AnnotRequest::ePSGS_RS_NotFound, IPSGS_Processor::GetReply(), IPSGS_Processor::GetRequest(), kCDDProcessorName, m_CDDBlob, m_Error, s_SimulateError(), string, x_Finish(), x_IsCanceled(), x_RegisterTimingNotFound(), x_ReportResultStatus(), x_SendAnnotInfo(), x_SendError(), and x_SignalStartProcessing().
◆ Process() void CPSGS_CDDProcessor::Process ( void ) overridevirtualMain processing function.
It should avoid throwing exceptions. In case of errors it must make sure that:
Implements IPSGS_Processor.
Definition at line 358 of file cdd_processor.cpp.
References _ASSERT, CPSGS_Request::ePSGS_AnnotationRequest, CPSGS_Request::ePSGS_BlobBySatSatKeyRequest, IPSGS_Processor::ePSGS_Error, IPSGS_Processor::GetRequest(), kCDDProcessorEvent, m_Mutex, m_Unlocked, x_Finish(), x_ProcessGetBlobRequest(), x_ProcessResolveRequest(), and x_SendError().
◆ WhatCanProcess() ◆ x_CanProcessAnnotRequest() ◆ x_CanProcessAnnotRequestIds() ◆ x_CanProcessBlobRequest() ◆ x_CanProcessSeq_id() bool CPSGS_CDDProcessor::x_CanProcessSeq_id ( const string & psg_id ) const private ◆ x_Finish()Definition at line 894 of file cdd_processor.cpp.
References _ASSERT, IPSGS_Processor::ePSGS_InProgress, m_Status, IPSGS_Processor::SignalFinishProcessing(), and x_UnlockRequest().
Referenced by Cancel(), OnGotBlobByBlobId(), OnGotBlobBySeqId(), OnGotBlobId(), Process(), x_IsCanceled(), x_ProcessGetBlobRequest(), x_ProcessResolveRequest(), x_SendAnnotInfo(), and x_SignalStartProcessing().
◆ x_IsCanceled() bool CPSGS_CDDProcessor::x_IsCanceled ( ) private ◆ x_IsEnabled() ◆ x_NameIncluded() bool CPSGS_CDDProcessor::x_NameIncluded ( const vector< string > & names ) const private ◆ x_ProcessGetBlobRequest() void CPSGS_CDDProcessor::x_ProcessGetBlobRequest ( void ) private ◆ x_ProcessResolveRequest() void CPSGS_CDDProcessor::x_ProcessResolveRequest ( void ) privateDefinition at line 402 of file cdd_processor.cpp.
References IPSGS_Processor::ePSGS_NotFound, SPSGS_AnnotRequest::ePSGS_RS_NotFound, CSeq_id_Handle::GetHandle(), SPSGS_AnnotRequest::GetNotProcessedName(), IPSGS_Processor::GetRequest(), IPSGS_Processor::m_Priority, SPSGS_AnnotRequest::m_SeqId, m_SeqIds, SPSGS_AnnotRequest::m_SeqIds, m_ThreadPool, SPSGS_BlobRequestBase::m_TSEOption, x_CanProcessSeq_id(), x_Finish(), x_NameIncluded(), and x_ReportResultStatus().
Referenced by Process().
◆ x_RegisterTiming() ◆ x_RegisterTimingNotFound() void CPSGS_CDDProcessor::x_RegisterTimingNotFound ( EPSGOperation operation ) private ◆ x_ReportResultStatus() ◆ x_SendAnnot() void CPSGS_CDDProcessor::x_SendAnnot ( const objects::CID2_Blob_Id & id2_blob_id, CRef< objects::CSeq_annot > & annot ) privateDefinition at line 740 of file cdd_processor.cpp.
References CCDDClientPool::BlobIdToString(), eNARetrieve, eOpStatusFound, IPSGS_Processor::GetReply(), CID2_Blob_Id_Base::GetVersion(), CID2_Blob_Id_Base::IsSetVersion(), kCDDProcessorName, MSerial_AsnBinary, CSeq_entry::SetAnnot(), CBlobRecord::SetModified(), CBlobRecord::SetNChunks(), CBioseq_set_Base::SetSeq_set(), CSeq_entry_Base::SetSet(), ToJsonString(), and x_RegisterTiming().
Referenced by OnGotBlobByBlobId(), and OnGotBlobBySeqId().
◆ x_SendAnnotInfo() void CPSGS_CDDProcessor::x_SendAnnotInfo ( const objects::CCDD_Reply_Get_Blob_Id & blob_info ) privateDefinition at line 689 of file cdd_processor.cpp.
References NStr::Base64Encode(), CCDDClientPool::BlobIdToString(), CSeqFeatData_Base::e_Region, CSeqFeatData_Base::e_Site, eNAResolve, eOpStatusFound, IPSGS_Processor::ePSGS_Canceled, CSeqFeatData::eSubtype_region, CSeqFeatData::eSubtype_site, CJsonNode::fStandardJson, CCDD_Reply_Get_Blob_Id_Base::GetBlob_id(), CSeq_id_Base::GetGi(), IPSGS_Processor::GetPriority(), IPSGS_Processor::GetReply(), IPSGS_Processor::GetRequest(), CCDD_Reply_Get_Blob_Id_Base::GetSeq_id(), CID2_Blob_Id_Base::GetVersion(), CSeq_id_Base::IsGi(), CID2_Blob_Id_Base::IsSetVersion(), kCDDAnnotName, kCDDProcessorName, MSerial_AsnBinary, CJsonNode::NewObjectNode(), SPSGS_AnnotRequest::RegisterProcessedName(), CJsonNode::Repr(), CRef< C, Locker >::Reset(), CJsonNode::SetInteger(), CJsonNode::SetString(), x_Finish(), and x_RegisterTiming().
Referenced by OnGotBlobBySeqId(), and OnGotBlobId().
◆ x_SendError() [1/4] void CPSGS_CDDProcessor::x_SendError ( const string & msg ) private ◆ x_SendError() [2/4] void CPSGS_CDDProcessor::x_SendError ( const string & msg, const exception & exc ) private ◆ x_SendError() [3/4]Definition at line 322 of file cdd_processor.cpp.
References CRequestStatus::e500_InternalServerError, eDiag_Error, ePSGS_UnknownError, kCDDProcessorName, and msg().
Referenced by CanProcess(), CreateProcessor(), OnGotBlobByBlobId(), OnGotBlobBySeqId(), OnGotBlobId(), Process(), WhatCanProcess(), and x_SendError().
◆ x_SendError() [4/4] ◆ x_SignalStartProcessing() bool CPSGS_CDDProcessor::x_SignalStartProcessing ( void ) privateDefinition at line 815 of file cdd_processor.cpp.
References CPSGS_Request::ePSGS_AnnotationRequest, IPSGS_Processor::ePSGS_Cancel, IPSGS_Processor::ePSGS_Canceled, IPSGS_Processor::GetPriority(), IPSGS_Processor::GetReply(), IPSGS_Processor::GetRequest(), kCDDAnnotName, kCDDProcessorName, SPSGS_AnnotRequest::RegisterProcessedName(), IPSGS_Processor::SignalStartProcessing(), and x_Finish().
Referenced by OnGotBlobByBlobId(), OnGotBlobBySeqId(), and OnGotBlobId().
◆ x_UnlockRequest() void CPSGS_CDDProcessor::x_UnlockRequest ( void ) private ◆ m_BlobId CRef<objects::CCDDClientPool::TBlobId> CPSGS_CDDProcessor::m_BlobId private ◆ m_Canceled bool CPSGS_CDDProcessor::m_Canceled private ◆ m_CDDBlob objects::CCDDClientPool::SCDDBlob CPSGS_CDDProcessor::m_CDDBlob private ◆ m_ClientPool shared_ptr<objects::CCDDClientPool> CPSGS_CDDProcessor::m_ClientPool private ◆ m_Error string CPSGS_CDDProcessor::m_Error private ◆ m_Mutex ◆ m_SeqIds vector<objects::CSeq_id_Handle> CPSGS_CDDProcessor::m_SeqIds private ◆ m_Start ◆ m_Status ◆ m_ThreadPool shared_ptr<ncbi::CThreadPool> CPSGS_CDDProcessor::m_ThreadPool private ◆ m_Unlocked bool CPSGS_CDDProcessor::m_Unlocked privateThe documentation for this class was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4