A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/classCPSGS__CDDProcessor.html below:

NCBI C++ ToolKit: CPSGS_CDDProcessor Class Reference

Search Toolkit Book for CPSGS_CDDProcessor

#include "cdd_processor.hpp"
(Private to src/app/pubseq_gateway/server.)

  CPSGS_CDDProcessor (void)     ~CPSGS_CDDProcessor (void) override   vector< stringWhatCanProcess (shared_ptr< CPSGS_Request > request, shared_ptr< CPSGS_Reply > reply) const override   Needs to be implemented only for the ID/get_na requests. More...
  bool  CanProcess (shared_ptr< CPSGS_Request > request, shared_ptr< CPSGS_Reply > reply) const override   Tells if processor can process the given request. More...
  IPSGS_ProcessorCreateProcessor (shared_ptr< CPSGS_Request > request, shared_ptr< CPSGS_Reply > reply, TProcessorPriority priority) const override   Create processor to fulfil PSG request using the data source. More...
  void  Process (void) override   Main processing function. More...
  void  Cancel (void) override   The infrastructure request to cancel processing. More...
  EPSGS_Status  GetStatus (void) override   Tells the processor status (if it has finished or in progress) More...
  string  GetName (void) const override   Tells the processor name (used in logging and tracing) More...
  string  GetGroupName (void) const override   Tells the processor group name. More...
  void  GetBlobId (void)   void  OnGotBlobId (void)   void  GetBlobBySeqId (void)   void  OnGotBlobBySeqId (void)   void  GetBlobByBlobId (void)   void  OnGotBlobByBlobId (void)     IPSGS_Processor ()   virtual  ~IPSGS_Processor ()   virtual void  ProcessEvent (void)   Called when an event happened which may require to have some processing. More...
  shared_ptr< CPSGS_RequestGetRequest (void) const   Provides the user request. More...
  shared_ptr< CPSGS_ReplyGetReply (void) const   Provides the reply wrapper. More...
  TProcessorPriority  GetPriority (void) const   Provides the processor priority. More...
  void  PostponeInvoke (CPSGS_UvLoopBinder::TProcessorCB cb, void *user_data)   The provided callback will be called from the libuv loop assigned to the processor. More...
  void  SetSocketCallback (int fd, CPSGS_SocketIOCallback::EPSGS_Event event, uint64_t timeout_millisec, void *user_data, CPSGS_SocketIOCallback::TEventCB event_cb, CPSGS_SocketIOCallback::TTimeoutCB timeout_cb, CPSGS_SocketIOCallback::TErrorCB error_cb)   The provided callbacks will be called from the libuv loop assigned to the processor when the corresponding event appeared on the provided socket. More...
  void  SetUVThreadId (uv_thread_t uv_thread_id)   Saves the libuv worker thread id which runs the processor. More...
  uv_thread_t  GetUVThreadId (void) const   Provides the libuv thread id which runs the processor. More...
  bool  IsUVThreadAssigned (void) const   Tells if a libuv thread id has been assigned to the processor. More...
  psg_time_point_t  GetProcessInvokeTimestamp (bool &is_valid) const   Provides the timestamp of when the Process() method was called. More...
  psg_time_point_t  GetSignalStartTimestamp (bool &is_valid) const   Provides the timestamp of when the processor called SignalStartProcessing() method. More...
  psg_time_point_t  GetSignalFinishTimestamp (bool &is_valid) const   Provides the timestamp of when the processor called SignalFinishProcessing() method. More...
  void  OnBeforeProcess (void)   Called just before the virtual Process() method is called. More...
  EPSGS_StartProcessing  SignalStartProcessing (void)   A processor should call the method when it decides that it successfully started processing the request. More...
  void  SignalFinishProcessing (void)   A processor should call this method when it decides that there is nothing else to be done. More...
  EPSGS_SeqIdParsingResult  ParseInputSeqId (objects::CSeq_id &seq_id, const string &request_seq_id, int request_seq_id_type, string *err_msg=nullptr)   Parse seq-id from a string and type representation. More...
  enum   EPSGS_Status {
  ePSGS_InProgress , ePSGS_Done , ePSGS_NotFound , ePSGS_Canceled ,
  ePSGS_Timeout , ePSGS_Error , ePSGS_Unauthorized
}   The GetStatus() method returns a processor current status. More...
  enum   EPSGS_StartProcessing { ePSGS_Proceed , ePSGS_Cancel }   Tells wether to continue or not after a processor called SignalStartProcessing() method. More...
  static string  StatusToString (EPSGS_Status status)   Converts the processor status to a string for tracing and logging purposes. More...
  static string  StatusToProgressMessage (EPSGS_Status status)   Converts the processor status to a string for protocol message. More...
  bool  GetEffectiveSeqIdType (const objects::CSeq_id &parsed_seq_id, int request_seq_id_type, int16_t &eff_seq_id_type, bool need_trace)   shared_ptr< CPSGS_Requestm_Request   shared_ptr< CPSGS_Replym_Reply   TProcessorPriority  m_Priority   bool  m_FinishSignalled   uv_thread_t  m_UVThreadId  

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_Requestrequest, shared_ptr< CPSGS_Replyreply, 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 overridevirtual

Tells 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.

Returns
the processor group name

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  ) overridevirtual

Main 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 stringpsg_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  ) private

Definition 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  ) private

Definition 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 ) private

Definition 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 stringmsg ) private ◆ x_SendError() [2/4] void CPSGS_CDDProcessor::x_SendError ( const stringmsg, 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  ) private

Definition 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 private

The 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