std::placeholders;
50shared_ptr<CPSGS_Request> request,
51shared_ptr<CPSGS_Reply> reply,
54m_FinishedCB(finished_cb),
56m_NeedTrace(request->NeedTrace()),
59m_WithSeqIdType(
true)
78unique_ptr<CCassBioseqInfoFetch> details;
93 if(seq_id_type != -1)
97bioseq_info_request.
SetGI(gi);
102sat_info_entry.connection,
103sat_info_entry.keyspace,
106details->SetLoader(fetch_task);
119 this, _1, _2, _3, _4));
135 "Cassandra request: "+
140 "Cassandra request for INSDC types: "+
145fetch_task->
Wait();
158 string msg= to_string(records.size()) +
" hit(s)";
159 for(
const auto& item : records) {
166 if(records.empty()) {
180 m_Reply->SendTrace(
"Report not found",
192 if(records.size() == 1) {
218to_string(records.size()) +
" bioseq info records were found however " 219 "it was impossible to choose one of them. So report as not found",
224 eDiag_Error,
"Many bioseq info records found and not able to " 232 if(records.size() == 1)
233prefix =
"Selected record:\n";
235prefix =
"Record selected in accordance to priorities (live & not HUP, dead & not HUP, HUP + largest gi/version):\n";
256vector<CBioseqInfoRecord>&& records)
266 string msg= to_string(records.size()) +
267 " hit(s); decision status: "+ to_string(
decision.status);
268 for(
const auto& item : records) {
277 m_Reply->SendTrace(
"Report found",
292 m_Reply->SendTrace(
"Report not found",
309 m_Reply->SendTrace(
"Report not found",
327 eDiag_Error,
"Unexpected decision code when a secondary INSCD " 328 "request results processed while retrieving bioseq info",
338 const string& message)
function< void(SBioseqResolution &&async_bioseq_resolution)> TSeqIdResolutionFinishedCB
function< void(CRequestStatus::ECode status, int code, EDiagSev severity, const string &message, EPSGS_LoggingFlag logging_flag)> TSeqIdResolutionErrorCB
ssize_t SelectBioseqInfoRecord(const vector< CBioseqInfoRecord > &records)
CBioseqInfoFetchRequest & SetVersion(CBioseqInfoRecord::TVersion value)
CBioseqInfoFetchRequest & SetGI(CBioseqInfoRecord::TGI value)
CBioseqInfoFetchRequest & SetSeqIdType(CBioseqInfoRecord::TSeqIdType value)
CBioseqInfoFetchRequest & SetAccession(CBioseqInfoRecord::TAccession const &value)
TSeqIdType GetSeqIdType() const
TVersion GetVersion() const
TAccession const & GetAccession() const
void SetDataReadyCB(shared_ptr< CCassDataCallbackReceiver > callback)
void SetConsumeCallback(TBioseqInfoConsumeCallback callback)
void SetErrorCB(TDataErrorCallback error_cb)
void SetReadFinished(void)
CCassBlobWaiter * GetLoader(void)
@ ePSGS_BioseqInfoNotFound
@ ePSGS_BioseqInfoFoundMany
@ ePSGS_BioseqInfoFoundOne
void Increment(IPSGS_Processor *processor, EPSGS_CounterType counter)
CCassFetch * m_NoSeqIdTypeFetch
psg_time_point_t m_BioseqRequestStart
void x_OnBioseqInfoWithoutSeqIdType(vector< CBioseqInfoRecord > &&records)
TSeqIdResolutionErrorCB m_ErrorCB
virtual ~CPSGS_AsyncBioseqInfoBase()
CPSGS_AsyncBioseqInfoBase()
void x_OnBioseqInfo(vector< CBioseqInfoRecord > &&records)
void x_OnBioseqInfoError(CRequestStatus::ECode status, int code, EDiagSev severity, const string &message)
void MakeRequest(SBioseqResolution &&bioseq_resolution)
SBioseqResolution m_BioseqResolution
TSeqIdResolutionFinishedCB m_FinishedCB
list< unique_ptr< CCassFetch > > m_FetchDetails
CPSGSCounters & GetCounters(void)
static CPubseqGatewayApp * GetInstance(void)
SSatInfoEntry GetBioseqKeyspace(void) const
shared_ptr< CPSGS_Reply > m_Reply
shared_ptr< CPSGS_Request > m_Request
EDiagSev
Severity level for the posted diagnostics.
@ eDiag_Error
Error message.
@ e500_InternalServerError
SINSDCDecision DecideINSDC(const vector< CBioseqInfoRecord > &records, CBioseqInfoRecord::TVersion version)
bool IsINSDCSeqIdType(CBioseqInfoRecord::TSeqIdType seq_id_type)
const string version
version string
string StripTrailingVerticalBars(const string &seq_id)
string ToJsonString(const CBioseqInfoRecord &bioseq_info, SPSGS_ResolveRequest::TPSGS_BioseqIncludeData include_data_flags, const string &custom_blob_id)
@ ePSGS_BioseqInfoMultipleRecords
static SLJIT_INLINE sljit_ins msg(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
EPSGS_ResolutionResult m_ResolutionResult
CBioseqInfoRecord & GetBioseqInfo(void)
void SetBioseqInfo(const CBioseqInfoRecord &record)
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