/// <summary> /// Create a new message factory context. /// </summary> /// <param name="ep">End point to parse messgaes from</param> /// <returns>A new context.</returns> /// <remarks> /// A context is used to parse messages from a specific endpoint. /// </remarks> internal MessageFactoryContext CreateNewContext(EndPoint ep) { MessageFactoryContext context = _builders.Dequeue(); context.EndPoint = ep; return(context); }
private MessageFactoryContext CreateBuilder() { var mb = new MessageFactoryContext(this, _factory, new SipParser()); mb.RequestCompleted += OnRequest; mb.ResponseCompleted += OnResponse; return mb; }
private MessageFactoryContext CreateBuilder() { var mb = new MessageFactoryContext(this, _factory, new SipParser()); mb.RequestCompleted += OnRequest; mb.ResponseCompleted += OnResponse; return(mb); }
private void Parse(MessageFactoryContext context, string message, int offset) { byte[] bytes = Encoding.ASCII.GetBytes(message); if (offset == 0) context.Parse(bytes, 0, bytes.Length); else { context.Parse(bytes, 0, offset); context.Parse(bytes, offset, bytes.Length - offset); } }
/// <summary> /// Release a used factoryContext. /// </summary> /// <param name="factoryContext"></param> internal void Release(MessageFactoryContext factoryContext) { _builders.Enqueue(factoryContext); }
public ClientContext(Socket socket, byte[] buffer, MessageFactoryContext parser) : this() { Socket = socket; Parser = parser; Buffer = buffer; Offset = 0; }
/// <summary> /// Release a used factoryContext. /// </summary> /// <param name="factoryContext"></param> internal void Release(MessageFactoryContext factoryContext) { _builders.Enqueue(factoryContext); }
private void Parse(MessageFactoryContext context, string message) { Parse(context, message, 0); }