public Object writeString(Context cx, String s, Charset cs) { clearErrno(); QueuedWrite qw = (QueuedWrite) cx.newObject(this, QueuedWrite.CLASS_NAME); ByteBuffer bbuf = Utils.stringToBuffer(s, cs); qw.initialize(bbuf); byteCount += bbuf.remaining(); offerWrite(qw, cx); return qw; }
@JSFunction public static Object shutdown(Context cx, Scriptable thisObj, Object[] args, Function func) { TCPImpl tcp = (TCPImpl) thisObj; clearErrno(); QueuedWrite qw = (QueuedWrite) cx.newObject(thisObj, QueuedWrite.CLASS_NAME); qw.shutdown = true; tcp.offerWrite(qw, cx); return qw; }
@JSGetter("writeQueueSize") public int getWriteQueueSize() { if (writeQueue == null) { return 0; } int s = 0; for (QueuedWrite qw : writeQueue) { s += qw.getLength(); } return s; }
@JSFunction public static Object writeBuffer(Context cx, Scriptable thisObj, Object[] args, Function func) { ensureArg(args, 0); Buffer.BufferImpl buf = (Buffer.BufferImpl) args[0]; TCPImpl tcp = (TCPImpl) thisObj; clearErrno(); QueuedWrite qw = (QueuedWrite) cx.newObject(thisObj, QueuedWrite.CLASS_NAME); ByteBuffer bbuf = buf.getBuffer(); qw.initialize(bbuf); tcp.byteCount += bbuf.remaining(); tcp.offerWrite(qw, cx); return qw; }