com.koushikdutta.async.LineEmitter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of androidasync Show documentation
Show all versions of androidasync Show documentation
Asynchronous socket, http(s) (client+server) and websocket library for android. Based on nio, not threads.
package com.koushikdutta.async;
import com.koushikdutta.async.callback.DataCallback;
public class LineEmitter implements DataCallback {
static public interface StringCallback {
public void onStringAvailable(String s);
}
StringBuilder data = new StringBuilder();
StringCallback mLineCallback;
public void setLineCallback(StringCallback callback) {
mLineCallback = callback;
}
public StringCallback getLineCallback() {
return mLineCallback;
}
@Override
public void onDataAvailable(DataEmitter emitter, ByteBufferList bb) {
while (bb.remaining() > 0) {
byte b = bb.get();
if (b == '\n') {
assert mLineCallback != null;
mLineCallback.onStringAvailable(data.toString());
data = new StringBuilder();
return;
}
else {
data.append((char)b);
}
}
}
}