Ejemplo n.º 1
0
                /// <summary>
                /// Constructs a <see cref="PoxBinaryBufferedMessage"/>.
                /// </summary>
                /// <param name="data">The message data containing the message contents.</param>
                internal PoxBinaryBufferedMessage(PoxBinaryBufferedMessageData data)
                {
                    this._data = data;
#if !SILVERLIGHT
                    this._data.Open();
#endif
                    this._headers    = new MessageHeaders(data.Encoder.MessageVersion);
                    this._properties = new MessageProperties();
                    this._reader     = this._data.TakeReader();
                    this._isFault    = this._reader.IsStartElement(PoxBinaryMessageEncoder.Fault,
                                                                   PoxBinaryMessageEncoder.Namespace);
                }
Ejemplo n.º 2
0
                    /// <summary>
                    /// Constructs a <see cref="PoxBinaryBufferedMessageBuffer"/>
                    /// </summary>
                    /// <param name="data">The message data.</param>
                    /// <param name="headers">The message headers.</param>
                    /// <param name="properties">The message properties.</param>
                    internal PoxBinaryBufferedMessageBuffer(PoxBinaryBufferedMessageData data,
                                                            MessageHeaders headers, MessageProperties properties)
                    {
                        this._data = data;
#if !SILVERLIGHT
                        this._data.Open();
#endif
                        this._headers    = new MessageHeaders(headers);
                        this._properties = new MessageProperties(properties);

                        this.ThisLock = new object();
                    }
Ejemplo n.º 3
0
            public override Message ReadMessage(ArraySegment <byte> buffer, BufferManager bufferManager, string contentType)
            {
                if (bufferManager == null)
                {
                    throw new ArgumentNullException("bufferManager");
                }

                ThrowIfIncorrectContentType(contentType);
#if !SILVERLIGHT
                PoxBinaryBufferedMessageData data = new PoxBinaryBufferedMessageData(buffer, bufferManager, this);
#else
                PoxBinaryBufferedMessageData data = new PoxBinaryBufferedMessageData(buffer, this);
#endif
                return(new PoxBinaryBufferedMessage(data));
            }