MSigCompController Class Reference

class MSigCompController

Interface class for sigcomp controller

Constructor & Destructor Documentation

~MSigCompController()

~MSigCompController ( ) [inline, virtual]

Destructor.

Member Functions Documentation

AllowL(const TInetAddr &, TUint32)

void AllowL ( const TInetAddr & aAddress,
TUint32 aIapId
) [pure virtual]

Allows the state of the decompressed message to be saved; leaves on failure.

Parameters

const TInetAddr & aAddress A remote destination address
TUint32 aIapId A iap id

CompartmentCount()

TInt CompartmentCount ( ) [pure virtual]

The function returns count of compartments

CreateCompartmentL(TUint32)

TUint32 CreateCompartmentL ( TUint32 aIapId ) [pure virtual]

After calling this function Connection Mgr always uses signalling compression for requests sent with compartmentId returned by this function. Multiple users can share a compression to one host: In sending phase remote inetaddr and compartmentid are mapped together. If some other compartmentid has already same remote destination address mapped with it, ids share the same compartment.

Parameters

TUint32 aIapId

DecompressL(const TDesC8 &, TUint &, TBool)

CBufBase * DecompressL ( const TDesC8 & aMessage,
TUint & aBytesConsumed,
TBool aIsStreamBased
) [pure virtual]

Decompress the message; leaves on failure. Leaves with a system wide error decompressing fails. The function expects the client to provide complete SigComp message.

Pre-condition
IsSigCompMsg() ==ETrue

Parameters

const TDesC8 & aMessage a message to decompress. The message must start with SigComp specific delimeter and end with SigComp specific delimeter
TUint & aBytesConsumed on return will contain the number of bytes consumed by the decompression from the original message
TBool aIsStreamBased

Deny()

void Deny ( ) [pure virtual]

Denies the state of the message to be saved.

EncodeL(const TSIPTransportParams &, CSIPRequest &, const TInetAddr &, TBool, TBool &)

CBufBase * EncodeL ( const TSIPTransportParams & aTransportParams,
CSIPRequest & aRequest,
const TInetAddr & aAddress,
TBool aStreambasedProtocol,
TBool & aCompressed
) [pure virtual]

The function encodes the Request and compresses it if there is compartment matching compartmentId. After calling this function, next-hop address is mapped with compartmentId. Leaves with a system wide error if encoding or compressing fails.

Parameters

const TSIPTransportParams & aTransportParams contains compartmentId and iapId
CSIPRequest & aRequest a request to encode and compress
const TInetAddr & aAddress A remote destination address
TBool aStreambasedProtocol
TBool & aCompressed

EncodeL(const TSIPTransportParams &, CSIPResponse &, const TInetAddr &, TBool, TBool &)

CBufBase * EncodeL ( const TSIPTransportParams & aTransportParams,
CSIPResponse & aResponse,
const TInetAddr & aAddress,
TBool aStreambasedProtocol,
TBool & aCompressed
) [pure virtual]

The function encodes the Response and compresses it if there is compartment matching compartmentId. After calling this function, next-hop address is mapped with compartmentId. Leaves with a system wide error if encoding or compressing fails.

Parameters

const TSIPTransportParams & aTransportParams contains compartmentId and iapId
CSIPResponse & aResponse a response to encode and compress
const TInetAddr & aAddress A remote destination address
TBool aStreambasedProtocol
TBool & aCompressed

IsCompleteSigCompMessageL(const TDesC8 &)

TBool IsCompleteSigCompMessageL ( const TDesC8 & aMessage ) const [pure virtual]

Checks if the message contains the delimeter indicating SigComp message end. This function must be used only with stream-based transports, otherwise it will always return EFalse.

Pre-condition
IsSigCompMsg() ==ETrue

Parameters

const TDesC8 & aMessage

IsSigCompMsg(const TDesC8 &)

TBool IsSigCompMsg ( const TDesC8 & aMessage ) const [pure virtual]

Checks if the first byte contains bit pattern indicating the start of the SigComp message. Function examines only the first byte.

Parameters

const TDesC8 & aMessage

IsSupported()

TBool IsSupported ( ) const [pure virtual]

Checks if signalling compression is installed.

RemoveCompartment(TUint32)

void RemoveCompartment ( TUint32 aCompartmentId ) [pure virtual]

Removes compression for passed compartmentId. If no compression for the host was found, the function silently returns.

Parameters

TUint32 aCompartmentId

SendFailedL(TUint32)

void SendFailedL ( TUint32 aCompartmentId ) [pure virtual]

If the compartment has been previously used for decompressing, resets the compartment. If not, deletes the compartment.

Parameters

TUint32 aCompartmentId the IAP for which the sending failed