public void Dial(string addr, Dialer d, SocketFlag flags = None) { var did = default(uint); DefaultInvoker.InvokeWithDefaultErrorHandling(() => __Dial(_sid, addr, ref did, (int)flags)); d?.OnDialed(did); }
public void Listen(string addr, Listener l, SocketFlag flags = None) { var lid = default(uint); DefaultInvoker.InvokeWithDefaultErrorHandling(() => __Listen(_sid, addr, ref lid, (int)flags)); l?.OnListened(lid); }
public virtual void Start(SocketFlag flags = None) { if (HasOne) { return; } DefaultInvoker.InvokeWithDefaultErrorHandling(() => _start((int)flags)); }
public virtual bool TryReceive(Message message, SocketFlag flags = None) { var msgPtr = IntPtr.Zero; DefaultInvoker.InvokeWithDefaultErrorHandling(() => __ReceiveMessage(_sid, out msgPtr, (int)flags)); message.RetainPtr(msgPtr); return(message.HasOne); }
public virtual bool TryReceive(ICollection <byte> buffer, ref int count, SocketFlag flags = None) { var local = new byte[count]; var sz = (ulong)count; DefaultInvoker.InvokeWithDefaultErrorHandling(() => __Receive(_sid, local, ref sz, (int)flags)); buffer.AddRange(local.Take(count = (int)sz)); return(sz > 0); }
/// <summary> /// 获取请求表单数据回调处理 /// </summary> /// <returns></returns> internal bool OnGetForm() { AutoCSer.WebView.Page page = GetFormPage; Flag &= SocketFlag.All ^ SocketFlag.GetForm; GetFormPage = null; ++page.SocketIdentity; switch (GetFormType) { case Http.GetFormType.Call: if (page.DomainServer.Call(new AutoCSer.WebView.UnionType { Value = page }.CallSynchronize)) { return(true); } break; case Http.GetFormType.CallAsynchronous: if (page.DomainServer.Call(new AutoCSer.WebView.UnionType { Value = page }.CallAsynchronousBase)) { return(true); } break; case Http.GetFormType.Ajax: if (new AutoCSer.WebView.UnionType { Value = page }.AjaxBase.CallAjax()) { return(true); } break; case Http.GetFormType.PubAjax: if (new AutoCSer.WebView.UnionType { Value = page }.PubAjax.Call()) { return(true); } break; } page.CancelGetForm(); return(false); }
internal SubBuffer.PoolBufferFull GetBuffer(int size) { if (size <= Buffer.Length) { return(Buffer); } if (size > BigBuffer.NullLength) { if ((Flag & SocketFlag.BigBuffer) != 0) { BigBuffer.Free(); } SubBuffer.Pool.GetBuffer(ref BigBuffer, size); } Flag |= SocketFlag.BigBuffer; return(BigBuffer); }
/// <summary> /// 是否缓冲区 /// </summary> internal void Free() { if (SendFileStream != null) { SendFileStream.Dispose(); SendFileStream = null; } if ((Flag & SocketFlag.IsLoadForm) != 0) { Form.Clear(); FormBuffer.Clear(); } if ((Flag & SocketFlag.GetForm) != 0) { GetFormPage.CancelGetForm(); GetFormPage = null; } if ((Flag & SocketFlag.BigBuffer) != 0) { BigBuffer.Free(); } Http.Response.Push(ref HttpResponse); Flag = SocketFlag.None; }
public void Dial(string addr, SocketFlag flags = None) { Dial(addr, null, flags); }
public virtual Message ReceiveMessage(SocketFlag flags = None) { var message = new Message(); return(TryReceive(message, flags) ? message : null); }
public override bool TryReceive(Message message, SocketFlag flags = None) { throw InvalidOperation(nameof(TryReceive)); }
public override bool TryReceive(ICollection <byte> buffer, ref int count, SocketFlag flags = None) { throw InvalidOperation(nameof(TryReceive)); }
public override Message ReceiveMessage(SocketFlag flags = None) { throw InvalidOperation(nameof(ReceiveMessage)); }
public override IEnumerable <byte> ReceiveBytes(ref int count, SocketFlag flags = None) { throw InvalidOperation(nameof(ReceiveBytes)); }
public virtual void Send(IEnumerable <byte> bytes, SocketFlag flags = None) { // ReSharper disable PossibleMultipleEnumeration Send(bytes, bytes.LongCount(), flags); // ReSharper enable PossibleMultipleEnumeration }
public virtual void Send(Message message, SocketFlag flags = None) { DefaultInvoker.InvokeWithDefaultErrorHandling(() => __SendMessage(_sid, message.CedePtr(), (int)flags)); }
public virtual void Send(IEnumerable <byte> bytes, int count, SocketFlag flags = None) { Send(bytes, (long)count, flags); }
public override void Send(IEnumerable <byte> bytes, long count, SocketFlag flags = None) { throw InvalidOperation(nameof(Send)); }
public virtual void Send(IEnumerable <byte> bytes, long count, SocketFlag flags = None) { DefaultInvoker.InvokeWithDefaultErrorHandling(() => __Send(_sid , bytes.ToArray(), (ulong)count, (int)flags)); }
public virtual void Send(string s, int length, SocketFlag flags = None) { DefaultInvoker.InvokeWithDefaultErrorHandling(() => __Send(_sid , new StringBuilder(s), (ulong)length, (int)flags)); }
public virtual void Send(string s, SocketFlag flags = None) { Send(s, s.Length, flags); }
public override void Send(Message message, SocketFlag flags = None) { throw InvalidOperation(nameof(Send)); }
public virtual IEnumerable <byte> ReceiveBytes(ref int count, SocketFlag flags = None) { var buffer = new List <byte>(); return(TryReceive(buffer, ref count, flags) ? buffer : null); }
public override void Send(string s, int length, SocketFlag flags = None) { throw InvalidOperation(nameof(Send)); }
public void Listen(string addr, SocketFlag flags = None) { Listen(addr, null, flags); }