mirror of
https://github.com/oliverschmidt/contiki.git
synced 2024-12-23 01:29:33 +00:00
added maximum log message size (1024 bytes) to avoid buffering up on binary serial output
This commit is contained in:
parent
7f687b99e6
commit
79f4dd467e
@ -26,7 +26,7 @@
|
|||||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
* SUCH DAMAGE.
|
* SUCH DAMAGE.
|
||||||
*
|
*
|
||||||
* $Id: SerialUI.java,v 1.3 2010/02/05 09:07:58 fros4943 Exp $
|
* $Id: SerialUI.java,v 1.4 2010/03/15 22:04:26 fros4943 Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package se.sics.cooja.dialogs;
|
package se.sics.cooja.dialogs;
|
||||||
@ -62,6 +62,8 @@ import se.sics.cooja.plugins.SLIP;
|
|||||||
public abstract class SerialUI extends Log implements SerialPort {
|
public abstract class SerialUI extends Log implements SerialPort {
|
||||||
private static Logger logger = Logger.getLogger(SerialUI.class);
|
private static Logger logger = Logger.getLogger(SerialUI.class);
|
||||||
|
|
||||||
|
private final static int MAX_LENGTH = 1024;
|
||||||
|
|
||||||
private String lastLogMessage = "";
|
private String lastLogMessage = "";
|
||||||
private StringBuilder newMessage = new StringBuilder();
|
private StringBuilder newMessage = new StringBuilder();
|
||||||
|
|
||||||
@ -324,6 +326,10 @@ public abstract class SerialUI extends Log implements SerialPort {
|
|||||||
this.notifyObservers(getMote());
|
this.notifyObservers(getMote());
|
||||||
} else {
|
} else {
|
||||||
newMessage.append((char) data);
|
newMessage.append((char) data);
|
||||||
|
if (newMessage.length() > MAX_LENGTH) {
|
||||||
|
logger.warn("Dropping too large log message (>" + MAX_LENGTH + " bytes).");
|
||||||
|
newMessage.setLength(0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
lastSerialData = (byte) data;
|
lastSerialData = (byte) data;
|
||||||
serialDataObservable.notifyNewData();
|
serialDataObservable.notifyNewData();
|
||||||
|
Loading…
Reference in New Issue
Block a user