/// <summary>
        ///     Delivers the packet.
        /// </summary>
        /// <param name="value">The value.</param>
        /// <exception cref="System.NotImplementedException"></exception>
        protected override void DeliverPacket(OscPacket value)
        {
            if (value != null)
            {
                var postData = Mimetype == OscPaylaodMimeType.Json ? Encoding.UTF8.GetBytes(value.CreateJson()) : value.ToByteArray();

                // post method to destination.
                var request = WebRequest.Create(m_destination);
                request.Method        = "POST";
                request.ContentType   = Mimetype.Type;
                request.ContentLength = postData.Length;
                var state = new RequestState
                {
                    Request = request,
                    Data    = postData,
                    Stream  = request.GetRequestStream()
                };
                state.Request.BeginGetRequestStream(RequestStreamReceived, state);
            }
        }