Example #1
0
 public static ProtocolHeader ReadHeader(ITransport transport)
 {
     byte[] smallBuffer = new byte[8];
     ReadBuffer(transport, smallBuffer, 0, 8);
     Trace.WriteBuffer("RECV {0}", smallBuffer, 0, smallBuffer.Length);
     return(ProtocolHeader.Create(smallBuffer, 0));
 }
Example #2
0
 internal void OnHeader(ProtocolHeader myHeader, ProtocolHeader theirHeader)
 {
     if (theirHeader.Id != myHeader.Id || theirHeader.Major != myHeader.Major ||
         theirHeader.Minor != myHeader.Minor || theirHeader.Revision != myHeader.Revision)
     {
         throw new AmqpException(ErrorCode.NotImplemented, theirHeader.ToString());
     }
 }
Example #3
0
        public static ProtocolHeader ReadHeader(ITransport transport)
        {
            byte[] smallBuffer = new byte[8];
            if (!ReadBuffer(transport, smallBuffer, 0, 8))
            {
                throw new ObjectDisposedException(transport.GetType().Name);
            }

            return(ProtocolHeader.Create(smallBuffer, 0));
        }
Example #4
0
        internal ProtocolHeader Start(string hostname, ITransport transport)
        {
            ProtocolHeader myHeader = new ProtocolHeader() { Id = 3, Major = 1, Minor = 0, Revision = 0 };

            ByteBuffer headerBuffer = new ByteBuffer(
                new byte[] { (byte)'A', (byte)'M', (byte)'Q', (byte)'P', myHeader.Id, myHeader.Major, myHeader.Minor, myHeader.Revision },
                0,
                8,
                8);
            transport.Send(headerBuffer);
            Trace.WriteLine(TraceLevel.Frame, "SEND AMQP {0}", myHeader);

            DescribedList command = this.GetStartCommand(hostname);
            if (command != null)
            {
                this.SendCommand(transport, command);
            }

            return myHeader;
        }
Example #5
0
        internal bool OnHeader(ProtocolHeader header)
        {
            Trace.WriteLine(TraceLevel.Frame, "RECV AMQP {0}", header);
            lock (this.ThisLock)
            {
                if (this.state == State.OpenPipe)
                {
                    this.state = State.OpenSent;
                }
                else if (this.state == State.OpenClosePipe)
                {
                    this.state = State.ClosePipe;
                }
                else
                {
                    throw new AmqpException(ErrorCode.IllegalState,
                        Fx.Format(SRAmqp.AmqpIllegalOperationState, "OnHeader", this.state));
                }

                if (header.Major != 1 || header.Minor != 0 || header.Revision != 0)
                {
                    throw new AmqpException(ErrorCode.NotImplemented, header.ToString());
                }
            }

            return true;
        }
Example #6
0
 public static ProtocolHeader ReadHeader(ITransport transport)
 {
     byte[] smallBuffer = new byte[8];
     ReadBuffer(transport, smallBuffer, 0, 8);
     return(ProtocolHeader.Create(smallBuffer, 0));
 }