diff --git a/cpp/csp/engine/StatusAdapter.h b/cpp/csp/engine/StatusAdapter.h index f243c7c70..b1606a4dc 100644 --- a/cpp/csp/engine/StatusAdapter.h +++ b/cpp/csp/engine/StatusAdapter.h @@ -13,6 +13,7 @@ struct StatusMessage std::shared_ptr level; std::shared_ptr statusCode; std::shared_ptr msg; + std::shared_ptr tag; }; struct StatusLevelTraits @@ -45,14 +46,17 @@ class StatusAdapter : public PushInputAdapter m_statusAccess.level = meta -> getMetaField( "level", "Status" ); m_statusAccess.statusCode = meta -> getMetaField( "status_code", "Status" ); m_statusAccess.msg = meta -> getMetaField( "msg", "Status" ); + m_statusAccess.tag = meta -> getMetaField( "tag", "Status" ); } - void pushStatus( int64_t level, int64_t statusCode, const std::string & msg, PushBatch *batch = nullptr ) + void pushStatus( int64_t level, int64_t statusCode, const std::string & msg, PushBatch *batch = nullptr, const std::string & tag = "" ) { StructPtr data = m_statusAccess.meta -> create(); m_statusAccess.level -> setValue( data.get(), level ); m_statusAccess.statusCode -> setValue( data.get(), statusCode ); m_statusAccess.msg -> setValue( data.get(), msg ); + if( !tag.empty() ) + m_statusAccess.tag -> setValue( data.get(), tag); pushTick( std::move( data ), batch ); } diff --git a/csp/adapters/status.py b/csp/adapters/status.py index 6e7e1c8a3..7581c3709 100644 --- a/csp/adapters/status.py +++ b/csp/adapters/status.py @@ -7,6 +7,7 @@ class Status(Struct): level: int status_code: int msg: str + tag: str class Level(IntEnum):