net.kano.joscar.snac
Class FamilyVersionPreprocessor

java.lang.Object
  extended byFamilyVersionPreprocessor
All Implemented Interfaces:
SnacPreprocessor

public final class FamilyVersionPreprocessor
extends java.lang.Object
implements SnacPreprocessor

A SNAC preprocessor to filter out some recent strangeness in the protocol. If a certain SSI (family 0x13) SNAC family version is sent, the server begins certain packets with a TLV block containing that family version. Don't ask me why. Either way, I think the AOL developers might have some sympathy for third-party developers, because a 0x80 bit mask is applied to the SNAC's first "flag" byte when this TLV block has been prepended to a packet. This makes filtering it out very easy.


Constructor Summary
FamilyVersionPreprocessor()
           
 
Method Summary
 void process(MutableSnacPacket packet)
          Filters the TLV block mentioned above out of the given SNAC packet.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FamilyVersionPreprocessor

public FamilyVersionPreprocessor()
Method Detail

process

public final void process(MutableSnacPacket packet)
Filters the TLV block mentioned above out of the given SNAC packet.

Specified by:
process in interface SnacPreprocessor
Parameters:
packet - the packet to filter