You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment the module assumes that the message does not include the new line character. It uses the new line character to split the tail into the individual messages and to remove old messages from the tail depending on the tail size set by the user.
In principle the user should not use multiple lines but send individual messages. I just realised that this causes a problem. If the user sends more than 3 messages subsequently messages are lost. This is because the LoggingModule can not finish processing the messages fast enough to free up the ring buffer internally used by CTK. At if there is no free slot in the internal CTK buffer new data is dropped.
This is a fundamental problem of the LoggingModule and can only be solved if the user can send multiple lines at once using the new line character.
One could use a vector of str::string for implementing the message buffer and construct the tail every time a new message is added from the vector. The vector size is defined by the tail length and the vector is rotated with every new message.
The text was updated successfully, but these errors were encountered:
mhier
changed the title
Improove LoggingModule to allow the user to send long messages
Improve LoggingModule to allow the user to send long messages
Jun 16, 2021
At the moment the module assumes that the message does not include the new line character. It uses the new line character to split the tail into the individual messages and to remove old messages from the tail depending on the tail size set by the user.
In principle the user should not use multiple lines but send individual messages. I just realised that this causes a problem. If the user sends more than 3 messages subsequently messages are lost. This is because the LoggingModule can not finish processing the messages fast enough to free up the ring buffer internally used by CTK. At if there is no free slot in the internal CTK buffer new data is dropped.
This is a fundamental problem of the LoggingModule and can only be solved if the user can send multiple lines at once using the new line character.
One could use a vector of str::string for implementing the message buffer and construct the tail every time a new message is added from the vector. The vector size is defined by the tail length and the vector is rotated with every new message.
The text was updated successfully, but these errors were encountered: