org.activemq.io.impl
Class DefaultWireFormat

java.lang.Object
  extended byorg.activemq.io.AbstractWireFormat
      extended byorg.activemq.io.impl.AbstractDefaultWireFormat
          extended byorg.activemq.io.impl.DefaultWireFormat
All Implemented Interfaces:
java.io.Serializable, WireFormat

public class DefaultWireFormat
extends AbstractDefaultWireFormat
implements java.io.Serializable

This is a stateful AbstractDefaultWireFormat which implements value caching. Not optimal for use by many concurrent threads. One DefaultWireFormat is typically allocated per client connection.

Version:
$Revision: 1.1.1.1 $
See Also:
Serialized Form

Field Summary
protected  WireByteArrayOutputStream cachedBytesOut
           
protected  java.io.DataOutputStream cachedDataOut
           
protected  short cachedKeyGenerator
           
protected  WireByteArrayInputStream internalBytesIn
           
protected  WireByteArrayOutputStream internalBytesOut
           
protected  java.io.DataInputStream internalDataIn
           
protected  java.io.DataOutputStream internalDataOut
           
protected  short lastWriteValueCacheEvictionPosition
           
protected  java.lang.Object readMutex
           
protected  java.lang.Object writeMutex
           
 
Fields inherited from class org.activemq.io.impl.AbstractDefaultWireFormat
brokerAdminCommandReader, brokerAdminCommandWriter, brokerInfoReader, brokerInfoWriter, bytesMessageReader, bytesMessageWriter, cachedValueReader, cachedValueWriter, capacityInfoReader, capacityInfoRequestReader, capacityInfoRequestWriter, capacityInfoWriter, cleanupConnectionAndSessionInfoReader, cleanupConnectionAndSessionInfoWriter, connectionInfoReader, connectionInfoWriter, consumerInfoReader, consumerInfoWriter, currentWireFormatVersion, durableUnsubscribeReader, durableUnsubscribeWriter, intReponseReceiptReader, intReponseReceiptWriter, keepAliveReader, keepAliveWriter, mapMessageReader, mapMessageWriter, messageAckReader, messageAckWriter, messageReader, messageWriter, objectMessageReader, objectMessageWriter, producerInfoReader, producerInfoWriter, receiptReader, receiptWriter, reponseReceiptReader, reponseReceiptWriter, sessionInfoReader, sessionInfoWriter, streamMessageReader, streamMessageWriter, textMessageReader, textMessageWriter, transactionInfoReader, transactionInfoWriter, WIRE_FORMAT_VERSION, wireFormatInfoReader, wireFormatInfoWriter, xaTransactionInfoReader, xaTransactionInfoWriter
 
Fields inherited from class org.activemq.io.AbstractWireFormat
cachingEnabled, transportDataIn, transportDataOut
 
Fields inherited from interface org.activemq.io.WireFormat
DEFAULT_MAXIMUM_MESSAGE_SIZE
 
Constructor Summary
DefaultWireFormat()
          Default Constructor
 
Method Summary
 WireFormat copy()
          Creates a new copy of this wire format so it can be used in another thread/context
 java.lang.Object getValueFromReadCache(short key)
           
protected  short getWriteCachedKey(java.lang.Object key)
           
protected  void handleCachedValue(CachedValue cv)
           
protected  Packet readPacket(java.io.DataInput dataIn, PacketReader reader)
           
 byte[] toBytes(Packet packet)
          A helper method which converts a packet into a byte array Overrides the WireFormat to make use of the internal BytesOutputStream
protected  void validateWriteCache()
           
 Packet writePacket(Packet packet, java.io.DataOutput dataOut)
          Writes the packet to the given output stream
 
Methods inherited from class org.activemq.io.impl.AbstractDefaultWireFormat
canProcessWireFormatVersion, getCurrentWireFormatVersion, getWriter, initiateClientSideProtocol, initiateServerSideProtocol, readPacket, setCurrentWireFormatVersion
 
Methods inherited from class org.activemq.io.AbstractWireFormat
doesSupportMessageCompression, doesSupportMessageFragmentation, fromBytes, fromBytes, getTransportDataIn, getTransportDataOut, initiateClientSideProtocol, initiateServerSideProtocol, isCachingEnabled, readPacket, readPacket, registerTransportStreams, setCachingEnabled, setTransportDataIn, setTransportDataOut, writePacket
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

writeMutex

protected final transient java.lang.Object writeMutex

internalBytesOut

protected transient WireByteArrayOutputStream internalBytesOut

internalDataOut

protected transient java.io.DataOutputStream internalDataOut

cachedBytesOut

protected transient WireByteArrayOutputStream cachedBytesOut

cachedDataOut

protected transient java.io.DataOutputStream cachedDataOut

cachedKeyGenerator

protected transient short cachedKeyGenerator

lastWriteValueCacheEvictionPosition

protected transient short lastWriteValueCacheEvictionPosition

readMutex

protected final transient java.lang.Object readMutex

internalBytesIn

protected transient WireByteArrayInputStream internalBytesIn

internalDataIn

protected transient java.io.DataInputStream internalDataIn
Constructor Detail

DefaultWireFormat

public DefaultWireFormat()
Default Constructor

Method Detail

copy

public WireFormat copy()
Description copied from interface: WireFormat
Creates a new copy of this wire format so it can be used in another thread/context

Specified by:
copy in interface WireFormat
Specified by:
copy in class AbstractDefaultWireFormat
Returns:
new WireFormat

writePacket

public Packet writePacket(Packet packet,
                          java.io.DataOutput dataOut)
                   throws java.io.IOException
Description copied from interface: WireFormat
Writes the packet to the given output stream

Specified by:
writePacket in interface WireFormat
Specified by:
writePacket in class AbstractDefaultWireFormat
Throws:
java.io.IOException

readPacket

protected final Packet readPacket(java.io.DataInput dataIn,
                                  PacketReader reader)
                           throws java.io.IOException
Specified by:
readPacket in class AbstractDefaultWireFormat
Throws:
java.io.IOException

toBytes

public byte[] toBytes(Packet packet)
               throws java.io.IOException
A helper method which converts a packet into a byte array Overrides the WireFormat to make use of the internal BytesOutputStream

Specified by:
toBytes in interface WireFormat
Specified by:
toBytes in class AbstractDefaultWireFormat
Parameters:
packet -
Returns:
a byte array representing the packet using some wire protocol
Throws:
java.io.IOException

getValueFromReadCache

public java.lang.Object getValueFromReadCache(short key)
Specified by:
getValueFromReadCache in class AbstractDefaultWireFormat

getWriteCachedKey

protected short getWriteCachedKey(java.lang.Object key)
                           throws java.io.IOException
Throws:
java.io.IOException

validateWriteCache

protected void validateWriteCache()
                           throws java.io.IOException
Throws:
java.io.IOException

handleCachedValue

protected void handleCachedValue(CachedValue cv)
Specified by:
handleCachedValue in class AbstractDefaultWireFormat


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