NCBI C++ ToolKit
Classes | Typedefs | Enumerations | Functions | Variables
processing.cpp File Reference
#include <ncbi_pch.hpp>
#include <numeric>
#include <unordered_set>
#include <unordered_map>
#include <connect/impl/connect_misc.hpp>
#include <objects/seqset/Seq_entry.hpp>
#include <objects/seqsplit/ID2S_Split_Info.hpp>
#include <objects/seqsplit/ID2S_Chunk.hpp>
#include <serial/enumvalues.hpp>
#include <serial/objcopy.hpp>
#include <serial/objistr.hpp>
#include <serial/objostr.hpp>
#include <util/checksum.hpp>
#include <util/compress/zlib.hpp>
#include <util/compress/stream.hpp>
#include "performance.hpp"
#include "processing.hpp"
+ Include dependency graph for processing.cpp:

Go to the source code of this file.

Go to the SVN repository for this file.

Classes

struct  SNewRequestContext
 
struct  SInteractiveNewRequestStart
 
struct  SInteractiveNewRequestStart::SExtra
 
struct  SDataOnlyCopy
 
struct  SNonVerboseBase< TArgs >
 
struct  SNonVerbose< TArgs >
 
struct  SNonVerboseBase< SBatchResolveParams >
 

Typedefs

using verbose = true_type
 
using no_verbose = false_type
 
using testing = true_type
 
using no_testing = false_type
 
using server_mode = true_type
 
using no_server_mode = false_type
 

Enumerations

enum  EJsonRpcErrors { eJsonRpc_ParseError = -32700 , eJsonRpc_InvalidRequest = -32600 , eJsonRpc_ExceptionOnRead = -32000 }
 

Functions

string s_GetId (const CJson_Document &req_doc)
 
CRequestStatus::ECode s_PsgStatusToRequestStatus (EPSG_Status psg_status)
 
const char * s_StrStatus (EPSG_Status status)
 
const char * s_GetItemName (CPSG_ReplyItem::EType type, bool trouble=true)
 
auto s_IsRawRequest (shared_ptr< const CPSG_Request > &request)
 
auto s_IsRawResponse (const CPSG_BlobId *blob_id)
 
string s_ReasonToString (CPSG_SkippedBlob::EReason reason)
 
string s_ProgressStatusToString (CPSG_Processor::EProgressStatus progress_status)
 
ESerialDataFormat s_GetInputFormat (const string &format)
 
TTypeInfo s_GetInputType (const shared_ptr< CPSG_BlobData > &blob_data)
 
template<class... TArgs>
void s_ItemComplete (SJsonOut &json_out, EPSG_Status status, const shared_ptr< CPSG_ReplyItem > &item)
 
template<class... TArgs>
void s_ReplyComplete (SJsonOut &json_out, EPSG_Status status, const shared_ptr< CPSG_Reply > &reply)
 
template<>
void s_ReplyComplete< SOneRequestParams > (SJsonOut &json_out, EPSG_Status status, const shared_ptr< CPSG_Reply > &reply)
 
template<class... TArgs>
void s_NewItem (SJsonOut &, const shared_ptr< CPSG_ReplyItem > &)
 
template<>
void s_NewItem< SOneRequestParams > (SJsonOut &json_out, const shared_ptr< CPSG_ReplyItem > &reply_item)
 
template<>
void s_ItemComplete< no_verbose > (SJsonOut &json_out, EPSG_Status status, const shared_ptr< CPSG_ReplyItem > &item)
 
template<>
void s_ReplyComplete< no_verbose > (SJsonOut &json_out, EPSG_Status status, const shared_ptr< CPSG_Reply > &reply)
 
template<>
void s_ReplyComplete< SInteractiveParams, testing, server_mode > (SJsonOut &json_out, EPSG_Status status, const shared_ptr< CPSG_Reply > &reply)
 
template<>
void s_ReplyComplete< SInteractiveParams, testing, no_server_mode > (SJsonOut &json_out, EPSG_Status status, const shared_ptr< CPSG_Reply > &reply)
 
template<>
void s_ReplyComplete< SInteractiveParams, no_testing, server_mode > (SJsonOut &json_out, EPSG_Status status, const shared_ptr< CPSG_Reply > &reply)
 
template<>
void s_ReplyComplete< SInteractiveParams, no_testing, no_server_mode > (SJsonOut &json_out, EPSG_Status status, const shared_ptr< CPSG_Reply > &reply)
 
template<>
void s_ItemComplete< SInteractiveParams > (SJsonOut &json_out, EPSG_Status status, const shared_ptr< CPSG_ReplyItem > &item)
 
template<>
void s_NewItem< SInteractiveParams, verbose > (SJsonOut &json_out, const shared_ptr< CPSG_ReplyItem > &item)
 
shared_ptr< CPSG_Replys_GetReply (shared_ptr< CPSG_ReplyItem > &item)
 
shared_ptr< CPSG_Replys_GetReply (shared_ptr< CPSG_Reply > &reply)
 

Variables

const initializer_list< SDataFlagkDataFlags
 
const initializer_list< SInfoFlagkInfoFlags
 

Typedef Documentation

◆ no_server_mode

using no_server_mode = false_type

Definition at line 1014 of file processing.cpp.

◆ no_testing

using no_testing = false_type

Definition at line 1012 of file processing.cpp.

◆ no_verbose

using no_verbose = false_type

Definition at line 891 of file processing.cpp.

◆ server_mode

using server_mode = true_type

Definition at line 1013 of file processing.cpp.

◆ testing

using testing = true_type

Definition at line 1011 of file processing.cpp.

◆ verbose

using verbose = true_type

Definition at line 890 of file processing.cpp.

Enumeration Type Documentation

◆ EJsonRpcErrors

Enumerator
eJsonRpc_ParseError 
eJsonRpc_InvalidRequest 
eJsonRpc_ExceptionOnRead 

Definition at line 57 of file processing.cpp.

Function Documentation

◆ s_GetId()

string s_GetId ( const CJson_Document req_doc)

◆ s_GetInputFormat()

ESerialDataFormat s_GetInputFormat ( const string format)

Definition at line 629 of file processing.cpp.

References eSerial_AsnBinary, eSerial_AsnText, eSerial_Json, eSerial_Xml, and format.

Referenced by SDataOnlyCopy::Process().

◆ s_GetInputType()

TTypeInfo s_GetInputType ( const shared_ptr< CPSG_BlobData > &  blob_data)

Definition at line 638 of file processing.cpp.

Referenced by SDataOnlyCopy::Process().

◆ s_GetItemName()

const char* s_GetItemName ( CPSG_ReplyItem::EType  type,
bool  trouble = true 
)

◆ s_GetReply() [1/2]

shared_ptr<CPSG_Reply> s_GetReply ( shared_ptr< CPSG_Reply > &  reply)

Definition at line 1143 of file processing.cpp.

◆ s_GetReply() [2/2]

shared_ptr<CPSG_Reply> s_GetReply ( shared_ptr< CPSG_ReplyItem > &  item)

Definition at line 1138 of file processing.cpp.

Referenced by CJsonResponse::AddRequestID().

◆ s_IsRawRequest()

auto s_IsRawRequest ( shared_ptr< const CPSG_Request > &  request)

Definition at line 311 of file processing.cpp.

References CPSG_Request::eBlob.

Referenced by CJsonResponse::Fill().

◆ s_IsRawResponse()

auto s_IsRawResponse ( const CPSG_BlobId blob_id)

Definition at line 316 of file processing.cpp.

References CPSG_BlobId::GetLastModified(), and min().

Referenced by CJsonResponse::Fill().

◆ s_ItemComplete()

template<class... TArgs>
void s_ItemComplete ( SJsonOut json_out,
EPSG_Status  status,
const shared_ptr< CPSG_ReplyItem > &  item 
)

Definition at line 780 of file processing.cpp.

◆ s_ItemComplete< no_verbose >()

template<>
void s_ItemComplete< no_verbose > ( SJsonOut json_out,
EPSG_Status  status,
const shared_ptr< CPSG_ReplyItem > &  item 
)

Definition at line 894 of file processing.cpp.

References _ASSERT, and context.

Referenced by CParallelProcessing< TParams >::SImpl::GetItemComplete().

◆ s_ItemComplete< SInteractiveParams >()

template<>
void s_ItemComplete< SInteractiveParams > ( SJsonOut json_out,
EPSG_Status  status,
const shared_ptr< CPSG_ReplyItem > &  item 
)

◆ s_NewItem()

template<class... TArgs>
void s_NewItem ( SJsonOut ,
const shared_ptr< CPSG_ReplyItem > &   
)

Definition at line 800 of file processing.cpp.

◆ s_NewItem< SInteractiveParams, verbose >()

template<>
void s_NewItem< SInteractiveParams, verbose > ( SJsonOut json_out,
const shared_ptr< CPSG_ReplyItem > &  item 
)

◆ s_NewItem< SOneRequestParams >()

template<>
void s_NewItem< SOneRequestParams > ( SJsonOut json_out,
const shared_ptr< CPSG_ReplyItem > &  reply_item 
)

Definition at line 805 of file processing.cpp.

References CJsonResponse::NewItem().

Referenced by CProcessing::OneRequest().

◆ s_ProgressStatusToString()

string s_ProgressStatusToString ( CPSG_Processor::EProgressStatus  progress_status)

◆ s_PsgStatusToRequestStatus()

CRequestStatus::ECode s_PsgStatusToRequestStatus ( EPSG_Status  psg_status)

◆ s_ReasonToString()

string s_ReasonToString ( CPSG_SkippedBlob::EReason  reason)

◆ s_ReplyComplete()

template<class... TArgs>
void s_ReplyComplete ( SJsonOut json_out,
EPSG_Status  status,
const shared_ptr< CPSG_Reply > &  reply 
)

Definition at line 786 of file processing.cpp.

◆ s_ReplyComplete< no_verbose >()

template<>
void s_ReplyComplete< no_verbose > ( SJsonOut json_out,
EPSG_Status  status,
const shared_ptr< CPSG_Reply > &  reply 
)

Definition at line 908 of file processing.cpp.

References _ASSERT, and context.

Referenced by CParallelProcessing< TParams >::SImpl::GetReplyComplete().

◆ s_ReplyComplete< SInteractiveParams, no_testing, no_server_mode >()

template<>
void s_ReplyComplete< SInteractiveParams, no_testing, no_server_mode > ( SJsonOut json_out,
EPSG_Status  status,
const shared_ptr< CPSG_Reply > &  reply 
)

◆ s_ReplyComplete< SInteractiveParams, no_testing, server_mode >()

template<>
void s_ReplyComplete< SInteractiveParams, no_testing, server_mode > ( SJsonOut json_out,
EPSG_Status  status,
const shared_ptr< CPSG_Reply > &  reply 
)

◆ s_ReplyComplete< SInteractiveParams, testing, no_server_mode >()

template<>
void s_ReplyComplete< SInteractiveParams, testing, no_server_mode > ( SJsonOut json_out,
EPSG_Status  status,
const shared_ptr< CPSG_Reply > &  reply 
)

◆ s_ReplyComplete< SInteractiveParams, testing, server_mode >()

template<>
void s_ReplyComplete< SInteractiveParams, testing, server_mode > ( SJsonOut json_out,
EPSG_Status  status,
const shared_ptr< CPSG_Reply > &  reply 
)

◆ s_ReplyComplete< SOneRequestParams >()

template<>
void s_ReplyComplete< SOneRequestParams > ( SJsonOut json_out,
EPSG_Status  status,
const shared_ptr< CPSG_Reply > &  reply 
)

Definition at line 792 of file processing.cpp.

References eSuccess.

Referenced by CProcessing::OneRequest().

◆ s_StrStatus()

const char* s_StrStatus ( EPSG_Status  status)

Variable Documentation

◆ kDataFlags

const initializer_list<SDataFlag> kDataFlags
Initial value:
=
{
{ "no-tse", "Return only the info", CPSG_Request_Biodata::eNoTSE },
{ "slim-tse", "Return split info blob if available, or nothing", CPSG_Request_Biodata::eSlimTSE },
{ "smart-tse", "Return split info blob if available, or original blob", CPSG_Request_Biodata::eSmartTSE },
{ "whole-tse", "Return all split blobs if available, or original blob", CPSG_Request_Biodata::eWholeTSE },
{ "orig-tse", "Return original blob", CPSG_Request_Biodata::eOrigTSE },
}
@ eNoTSE
Only the info.
Definition: psg_client.hpp:340
@ eSmartTSE
If ID2 split is available, return split info blob only.
Definition: psg_client.hpp:348
@ eSlimTSE
If ID2 split is available, return split info blob only.
Definition: psg_client.hpp:344
@ eWholeTSE
If ID2 split is available, return all split blobs.
Definition: psg_client.hpp:352
@ eOrigTSE
Return all Cassandra data chunks of the blob itself.
Definition: psg_client.hpp:355

Definition at line 1638 of file processing.cpp.

Referenced by SRequestBuilder::GetDataFlags().

◆ kInfoFlags

const initializer_list<SInfoFlag> kInfoFlags
Initial value:
=
{
{ "all-info-except", "Return all info except explicitly specified by other flags", CPSG_Request_Resolve::fAllInfo },
{ "canonical-id", "Return canonical ID info", CPSG_Request_Resolve::fCanonicalId },
{ "name", "Use name for canonical ID info, if returned", CPSG_Request_Resolve::fName },
{ "other-ids", "Return other IDs info", CPSG_Request_Resolve::fOtherIds },
{ "molecule-type", "Return molecule type info", CPSG_Request_Resolve::fMoleculeType },
{ "length", "Return length info", CPSG_Request_Resolve::fLength },
{ "chain-state", "Return chain state info (in seq_state pair)", CPSG_Request_Resolve::fChainState },
{ "state", "Return state info", CPSG_Request_Resolve::fState },
{ "blob-id", "Return blob ID info", CPSG_Request_Resolve::fBlobId },
{ "tax-id", "Return tax ID info", CPSG_Request_Resolve::fTaxId },
{ "hash", "Return hash info", CPSG_Request_Resolve::fHash },
{ "date-changed", "Return date changed info", CPSG_Request_Resolve::fDateChanged },
{ "gi", "Return GI", CPSG_Request_Resolve::fGi },
}
@ fName
Requests name to use for canonical bio-id.
Definition: psg_client.hpp:423

Definition at line 1652 of file processing.cpp.

Referenced by SRequestBuilder::GetInfoFlags().

Modified on Sun Apr 28 04:46:51 2024 by modify_doxy.py rev. 669887