public int WriteRaw(ChannelBuffer buf, String str) { if (str == null) { str = "null"; } byte[] data = _mEncoding.GetBytes(str); int len = data.Length; int count = len; int offset = 0; for (int i = 0; i < len; i++) { byte b = data[i]; if (b == '\t' || b == '\r' || b == '\n' || b == '\\') { buf.WriteBytes(data, offset, i - offset); buf.WriteByte('\\'); if (b == '\t') { buf.WriteByte('t'); } else if (b == '\r') { buf.WriteByte('r'); } else if (b == '\n') { buf.WriteByte('n'); } else { buf.WriteByte(b); } count++; offset = i + 1; } } if (len > offset) { buf.WriteBytes(data, offset, len - offset); } return(count); }
public int Write(ChannelBuffer buf, byte b) { buf.WriteByte(b); return(1); }