public class Frame
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
int |
channel
Frame channel number, 0-65535
|
int |
type
Frame type code
|
Constructor and Description |
---|
Frame(int type,
int channel)
Constructs a frame for output with a type and a channel number and a
fresh accumulator waiting for payload.
|
Frame(int type,
int channel,
byte[] payload)
Constructs a frame for input with a type, a channel number and a
payload byte array.
|
Modifier and Type | Method and Description |
---|---|
static long |
arraySize(java.util.List<?> values)
Computes the AMQP wire-protocol length of an encoded field-array of type List>
|
static long |
arraySize(java.lang.Object[] values)
Computes the AMQP wire-protocol length of an encoded field-array of type Object[]
|
static Frame |
fromBodyFragment(int channelNumber,
byte[] body,
int offset,
int length) |
java.io.DataInputStream |
getInputStream()
Public API - retrieves a new DataInputStream streaming over the payload
|
java.io.DataOutputStream |
getOutputStream()
Public API - retrieves a fresh DataOutputStream streaming into the accumulator
|
byte[] |
getPayload()
Public API - retrieves the frame payload
|
static void |
protocolVersionMismatch(java.io.DataInputStream is)
Private API - A protocol version mismatch is detected by checking the
three next bytes if a frame type of (int)'A' is read from an input
stream.
|
static Frame |
readFrom(java.io.DataInputStream is)
Protected API - Factory method to instantiate a Frame by reading an
AMQP-wire-protocol frame from the given input stream.
|
static long |
tableSize(java.util.Map<java.lang.String,java.lang.Object> table)
Computes the AMQP wire-protocol length of protocol-encoded table entries.
|
java.lang.String |
toString() |
void |
writeTo(java.io.DataOutputStream os)
Public API - writes this Frame to the given DataOutputStream
|
public final int type
public final int channel
public Frame(int type, int channel)
public Frame(int type, int channel, byte[] payload)
public static Frame fromBodyFragment(int channelNumber, byte[] body, int offset, int length) throws java.io.IOException
java.io.IOException
public static Frame readFrom(java.io.DataInputStream is) throws java.io.IOException
java.io.IOException
public static void protocolVersionMismatch(java.io.DataInputStream is) throws java.io.IOException
MalformedFrameException
- if an AMQP protocol version mismatch is detectedMalformedFrameException
- if a corrupt AMQP protocol identifier is readjava.io.IOException
public void writeTo(java.io.DataOutputStream os) throws java.io.IOException
java.io.IOException
public byte[] getPayload()
public java.io.DataInputStream getInputStream()
public java.io.DataOutputStream getOutputStream()
public java.lang.String toString()
toString
in class java.lang.Object
public static long tableSize(java.util.Map<java.lang.String,java.lang.Object> table) throws java.io.UnsupportedEncodingException
java.io.UnsupportedEncodingException
public static long arraySize(java.util.List<?> values) throws java.io.UnsupportedEncodingException
java.io.UnsupportedEncodingException
public static long arraySize(java.lang.Object[] values) throws java.io.UnsupportedEncodingException
java.io.UnsupportedEncodingException