Пример #1
0
 public BinaryDataOutput prepareForPostRequest()
 {
     if (post == null)
     {
         messageWriter = new BinaryMessageWriter(implConnection.transliterator);
         post          = new HttpClient();
     }
     //else {
     //              post.reset();
     //          }
     messageWriter.initialize(streamBuffer.getOutputStream());
     return(messageWriter);
 }
Пример #2
0
        /// <summary>
        /// Writes the specified message to a byte array allocated by the specigied <paramref name="bufferManager"/>
        /// </summary>
        public static ArraySegment <byte> WriteMessage(Message message, BufferManager bufferManager, int messageOffset)
        {
            var messageWriter = s_threadInstance ?? new BinaryMessageWriter();

            // Reentrancy is not expected, but if the operation throws we dont
            // want to reuse the current messageWriter since XmlWriter might not be in starting state
            s_threadInstance = null;

            var result = messageWriter.WriteMessageCore(message, bufferManager, messageOffset);

            // Save for later reuse
            s_threadInstance = messageWriter;
            return(result);
        }
Пример #3
0
            public override ArraySegment <byte> WriteMessage(Message message, int maxMessageSize, BufferManager bufferManager, int messageOffset)
            {
                if (message == null)
                {
                    throw new ArgumentNullException(nameof(message));
                }

                if (bufferManager == null)
                {
                    throw new ArgumentNullException(nameof(bufferManager));
                }

                if (maxMessageSize < 0)
                {
                    throw new ArgumentOutOfRangeException(nameof(maxMessageSize));
                }

                this.ThrowIfInvalidMessageVersion(message);

                return(BinaryMessageWriter.WriteMessage(message, bufferManager, messageOffset));
            }