override public object Received(byte[] data, UniNetObject connection, out NetCore.Error.NetCoreException err, object Addition) { err = null; //log("id:" + (connection.stateObject as HTTPStateObject)?.request.id, INFO, "HTTP.Received"); if (connection.CompleteTime != 0) { //log("time:" + connection.CompleteTime, INFO, "HTTP.Received"); } var state = ProcessHTTPResponse(data, Addition as HTTPStateObject, out var nextRequest); if (nextRequest != null) { (state as HTTPStateObject).request = nextRequest; //log("send:" + nextRequest.Host, INFO, "HTTP.Received"); connection.Write(nextRequest.ToByte(), out err); } else { if ((state as HTTPStateObject).complete == HTTPStateComplete.Closing) { connection.Close(); err = new NetCore.Error.NetCoreException(); } } return(state); }
override public object Connected(UniNetObject connection, out NetCore.Error.NetCoreException err) { err = null; HTTPRequest request = null; if (ConnectedRequest != null) { request = ConnectedRequest; connection.Write(ConnectedRequest.ToByte(), out err); ConnectedRequest = null; } lock (newConnectLock) { Monitor.Pulse(newConnectLock); } var state = new HTTPStateObject() { request = request }; return(state); }
public void Write(byte[] buf, out NetCore.Error.NetCoreException err) { protocol.Write(buf, this, out err); }
virtual public void Accepted(UniNetObject connection, out NetCore.Error.NetCoreException err) { err = null; }
//public void ThreadReceived(Object Param){ // bool isContinue=Received(((CoreThreadPassObj)Param).data,((CoreThreadPassObj)Param).socket,null); // SocketException receiveErr=null; // while(isContinue){ // byte[] data = _ProtocolOp.ContinueReceive(((CoreThreadPassObj)Param).socket,out receiveErr); // if(data==null){ // continue; // } // if(data.Length==0&&((CoreThreadPassObj)Param).socket.Available==0){ // break; // } // if(receiveErr!=null){ // break; // } // isContinue=Received(data, ((CoreThreadPassObj)Param).socket,receiveErr); // } // ((CoreThreadPassObj)Param).socket.Dispose(); // ((CoreThreadPassObj)Param).socket = null; //} //virtual public void Write(Byte[] data, UniNetObject connection, out NetCore.Error.NetCoreException err){ // _ProtocolOp.Write(data, connection, out err); //} virtual public object Connected(UniNetObject connection, out NetCore.Error.NetCoreException err) { err = null; return(null); }
virtual public object Received(byte[] data, UniNetObject connection, out NetCore.Error.NetCoreException err, object Addition = null) { err = null; return(null); }