Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.activemq.message
Class WireFormat

    java.lang.Object
      org.codehaus.activemq.message.WireFormat

Direct Known Subclasses:
  DefaultWireFormat, JabberWireFormat, TextWireFormat

public abstract class WireFormat
extends Object

Represents a strategy of encoding packets on the wire or on disk using some kind of serialization or wire format.

We use a default efficient format for Java to Java communication but other formats to other systems can be used, such as using simple text strings when talking to JavaScript or coming up with other formats for talking to C / C# languages or proprietary messaging systems we wish to interface with at the wire level etc.

Version:
  $Revision: 1.11 $

Constructor Summary
`WireFormat()`

Method Summary
`abstract boolean` | `canProcessWireFormatVersion(int version)` Can this wireformat process packets of this version
`abstract WireFormat` | `copy()` Creates a new copy of this wire format so it can be used in another thread/context
`Packet` | `fromBytes(byte[] bytes)` Reads the packet from the given byte[]
`Packet` | `fromBytes(byte[] bytes, int offset, int length)` Reads the packet from the given byte[]
`abstract int` | `getCurrentWireFormatVersion()`
`abstract Packet` | `readPacket(DataInput in)` Reads a packet from the given input stream
`abstract Packet` | `readPacket(int firstByte, DataInput in)` A helper method for working with sockets where the first byte is read first, then the rest of the message is read.
`Packet` | `readPacket(String channelID, DatagramPacket dpacket)` Read a packet from a Datagram packet from the given channelID.
`byte[]` | `toBytes(Packet packet)` A helper method which converts a packet into a byte array
`abstract void` | `writePacket(Packet packet, DataOutput out)` Writes the packet to the given output stream
`DatagramPacket` | `writePacket(String channelID, Packet packet)` Writes the given package to a new datagram

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### WireFormat

    public WireFormat()

Method Detail

### readPacket

    public abstract Packet readPacket(DataInput in)
                               throws IOException

  Reads a packet from the given input stream

  Parameters:
    `in` -
  Returns:
  Throws:
    `IOException`

### readPacket

    public abstract Packet readPacket(int firstByte,
                                      DataInput in)
                               throws IOException

  A helper method for working with sockets where the first byte is read first, then the rest of the message is read.

  Its common when dealing with sockets to have different timeout semantics until the first non-zero byte is read of a message, after which time a zero timeout is used.

  Parameters:
    `firstByte` - the first byte of the packet
    `in` - the rest of the packet
  Returns:
  Throws:
    `IOException`

### readPacket

    public Packet readPacket(String channelID,
                             DatagramPacket dpacket)
                      throws IOException

  Read a packet from a Datagram packet from the given channelID. If the packet is from the same channel ID as it was sent then we have a loop-back so discard the packet

  Parameters:
    `channelID` - is the unique channel ID
    `dpacket` -
  Returns:
    the packet read from the datagram or null if it should be discarded
  Throws:
    `IOException`

### writePacket

    public abstract void writePacket(Packet packet,
                                     DataOutput out)
                              throws IOException,
                                     JMSException

  Writes the packet to the given output stream

  Parameters:
    `packet` -
    `out` -
  Throws:
    `IOException`
    `JMSException`

### writePacket

    public DatagramPacket writePacket(String channelID,
                                      Packet packet)
                               throws IOException,
                                      JMSException

  Writes the given package to a new datagram

  Parameters:
    `channelID` - is the unique channel ID
    `packet` - is the packet to write
  Returns:
  Throws:
    `IOException`
    `JMSException`

### fromBytes

    public Packet fromBytes(byte[] bytes,
                            int offset,
                            int length)
                     throws IOException

  Reads the packet from the given byte[]

  Parameters:
    `bytes` -
    `offset` -
    `length` -
  Returns:
  Throws:
    `IOException`

### fromBytes

    public Packet fromBytes(byte[] bytes)
                     throws IOException

  Reads the packet from the given byte[]

  Parameters:
    `bytes` -
  Returns:
  Throws:
    `IOException`

### toBytes

    public byte[] toBytes(Packet packet)
                   throws IOException,
                          JMSException

  A helper method which converts a packet into a byte array

  Parameters:
    `packet` -
  Returns:
    a byte array representing the packet using some wire protocol
  Throws:
    `IOException`
    `JMSException`

### copy

    public abstract WireFormat copy()

  Creates a new copy of this wire format so it can be used in another thread/context

  Returns:

### canProcessWireFormatVersion

    public abstract boolean canProcessWireFormatVersion(int version)

  Can this wireformat process packets of this version

  Parameters:
    `version` - the version number to test
  Returns:
    true if can accept the version

### getCurrentWireFormatVersion

    public abstract int getCurrentWireFormatVersion()

  Returns:
    the current version of this wire format

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 Protique, Ltd.. All Rights Reserved.