public void write(byte[] data, int size, WriteFinishedFunc finished_func, bool immediate)
{
if (dropped || sendingHeaderError)
{
return;
}
lock (write_callback_mutex)
{
if (write_callback != null)
{
writeTransport();
}
if (write_callback != null)
{
throw new Exception("Not finished writing previous data on this connection");
}
write_callback = finished_func;
write_buffer = data;
write_size = size;
transport.enableWrite();
if (immediate)
{
writeTransport();
}
}
}