Pchp.Library.Streams.SocketStream.RawWrite C# (CSharp) Method

RawWrite() protected method

protected RawWrite ( byte buffer, int offset, int count ) : int
buffer byte
offset int
count int
return int
        protected override int RawWrite(byte[] buffer, int offset, int count)
        {
            try
            {
                if (isAsync)
                {
                    if (currentTask != null)
                        currentTask.Wait();
                    currentTask = new Task(() =>
                    {
                        int rv = socket.Send(buffer, offset, count, SocketFlags.None);
                        eof = rv == 0;
                    });
                    currentTask.Start();
                    return count;
                }
                else
                {
                    int rv = socket.Send(buffer, offset, count, SocketFlags.None);
                    eof = rv == 0;
                    return rv;
                }
            }
            catch (System.Exception e)
            {
                PhpException.Throw(PhpError.Warning, ErrResources.stream_socket_error, e.Message);
                return 0;
            }
        }