#include <general_channel_message.h>
|
static constexpr int | FrameRatio_Precision = 2 |
|
void | InsertRepeatedMessage (int line_no, GeneralMessageBase *item) |
|
RenderableMessage * | Child (int line_no) const override |
|
| GeneralMessageBase (RenderableMessage *parent=nullptr) |
|
| ~GeneralMessageBase (void) |
|
void | clear (void) |
|
| GeneralMessageBase (const GeneralMessageBase &)=delete |
|
GeneralMessageBase & | operator= (const GeneralMessageBase &)=delete |
|
int * | line_no (void) |
|
void | set_line_no (int line_no) |
|
void | reset_line_page (void) |
|
void | SplitPages (int key) |
|
static void | PrintMessage (GeneralMessageBase *baseMsg, const google::protobuf::Message &msg, int *jump_lines, const Screen *s, int *line_no, int indent) |
|
static void | PrintField (GeneralMessageBase *baseMsg, const google::protobuf::Message &msg, int *jump_lines, const Screen *s, int *line_no, int indent, const google::protobuf::Reflection *ref, const google::protobuf::FieldDescriptor *field, int index) |
|
static int | LineCount (const google::protobuf::Message &msg, int screen_width) |
|
static int | LineCountOfField (const google::protobuf::Message &msg, int screen_width, const google::protobuf::FieldDescriptor *field, const google::protobuf::Reflection *reflection, bool is_folded=true) |
|
std::map< const int, GeneralMessageBase * > | children_map_ |
|
int | line_no_ |
|
int | pages_ |
|
int | page_index_ |
|
int | page_item_count_ |
|
RenderableMessage * | parent_ |
|
double | frame_ratio_ |
|
◆ ErrorCode
枚举值 |
---|
NewSubClassFailed | |
CreateNodeFailed | |
CreateReaderFailed | |
MessageTypeIsEmpty | |
ChannelNameOrNodeNameIsEmpty | |
NoCloseChannel | |
在文件 general_channel_message.h 第 34 行定义.
34 {
41 };
@ ChannelNameOrNodeNameIsEmpty
◆ ~GeneralChannelMessage()
GeneralChannelMessage::~GeneralChannelMessage |
( |
| ) |
|
|
inline |
在文件 general_channel_message.h 第 55 行定义.
55 {
56 channel_node_.reset();
57 channel_reader_.reset();
58 channel_message_.reset();
59 if (raw_msg_class_) {
60 delete raw_msg_class_;
61 raw_msg_class_ = nullptr;
62 }
63 }
◆ add_reader()
void GeneralChannelMessage::add_reader |
( |
const std::string & |
reader | ) |
|
|
inline |
◆ add_writer()
void GeneralChannelMessage::add_writer |
( |
const std::string & |
writer | ) |
|
|
inline |
◆ CastErrorCode2Ptr()
◆ CastPtr2ErrorCode()
static ErrorCode GeneralChannelMessage::CastPtr2ErrorCode |
( |
void * |
ptr | ) |
|
|
inlinestatic |
◆ CloseChannel()
void GeneralChannelMessage::CloseChannel |
( |
void |
| ) |
|
|
inline |
在文件 general_channel_message.h 第 94 行定义.
94 {
95 if (channel_reader_ != nullptr) {
96 channel_reader_.reset();
97 }
98
99 if (channel_node_ != nullptr) {
100 channel_node_.reset();
101 }
102 }
◆ del_reader()
void GeneralChannelMessage::del_reader |
( |
const std::string & |
reader | ) |
|
|
inline |
◆ del_writer()
void GeneralChannelMessage::del_writer |
( |
const std::string & |
writer | ) |
|
|
inline |
在文件 general_channel_message.h 第 85 行定义.
85 {
86 DoDelete(&writers_, writer);
87 if (!writers_.size()) {
88 set_has_message_come(false);
89 }
90 }
◆ ErrCode2Str()
在文件 general_channel_message.cc 第 36 行定义.
37 {
38 const char* ret;
39 switch (errCode) {
41 ret = "Cannot Create Parser Object";
42 break;
43
45 ret = "Cannot Create Cyber Node";
46 break;
47
49 ret = "Cannot Create Cyber Reader";
50 break;
51
53 ret = "Message Type is Empty";
54 break;
55
57 ret = "Channel Name or Node Name is Empty";
58 break;
59
61 ret = "No Close Channel";
62 break;
63
64 default:
65 ret = "Unknown Error Code";
66 }
67 return ret;
68}
◆ frame_ratio()
double GeneralChannelMessage::frame_ratio |
( |
void |
| ) |
|
|
overridevirtual |
重载 RenderableMessage .
在文件 general_channel_message.cc 第 88 行定义.
88 {
90 return 0.0;
91 }
93 auto interval = time_now - time_last_calc_;
94 if (interval.ToNanosecond() > 1000000000) {
95 int old = frame_counter_;
96 while (!frame_counter_.compare_exchange_strong(old, 0)) {
97 }
98 if (old == 0) {
99 return 0.0;
100 }
101 auto curMsgTime = msg_time_;
102 auto deltaTime = curMsgTime - last_time_;
104 last_time_ = curMsgTime;
105 time_last_calc_ = time_now;
106 }
108}
bool has_message_come(void) const
bool is_enabled(void) const
double ToSecond() const
convert time to second.
◆ GetChannelName()
std::string GeneralChannelMessage::GetChannelName |
( |
void |
| ) |
const |
|
inline |
◆ has_message_come()
bool GeneralChannelMessage::has_message_come |
( |
void |
| ) |
const |
|
inline |
◆ is_enabled()
bool GeneralChannelMessage::is_enabled |
( |
void |
| ) |
const |
|
inline |
◆ IsErrorCode()
bool GeneralChannelMessage::IsErrorCode |
( |
void * |
ptr | ) |
|
|
static |
◆ message_type()
const std::string & GeneralChannelMessage::message_type |
( |
void |
| ) |
const |
|
inline |
◆ NodeName()
const std::string & GeneralChannelMessage::NodeName |
( |
void |
| ) |
const |
|
inline |
◆ Render()
int GeneralChannelMessage::Render |
( |
const Screen * |
s, |
|
|
int |
key |
|
) |
| |
|
overridevirtual |
实现了 RenderableMessage.
在文件 general_channel_message.cc 第 141 行定义.
141 {
142 switch (key) {
143 case 'b':
144 case 'B':
145 current_state_ = State::ShowDebugString;
146 break;
147
148 case 'i':
149 case 'I':
150 current_state_ = State::ShowInfo;
151 break;
152
153 default: {
154 }
155 }
156
158
160
163 s->
AddStr(channel_reader_->GetChannelName().c_str());
164
167
169 switch (current_state_) {
170 case State::ShowDebugString:
171 RenderDebugString(s, key, &
line_no);
172 break;
173 case State::ShowInfo:
175 break;
176 }
177 } else {
179 }
181
183}
const std::string & message_type(void) const
void AddStr(int x, int y, ColorPair color, const char *str) const
void SetCurrentColor(ColorPair color) const
void ClearCurrentColor(void) const
◆ set_message_type()
void GeneralChannelMessage::set_message_type |
( |
const std::string & |
msgTypeName | ) |
|
|
inline |
◆ CyberTopologyMessage
◆ GeneralMessage
该类的文档由以下文件生成: