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)

voidAllowL(const TInetAddr &aAddress,
TUint32aIapId
)[pure virtual]

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

Parameters

const TInetAddr & aAddressA remote destination address
TUint32 aIapIdA iap id

CompartmentCount()

TInt CompartmentCount()[pure virtual]

The function returns count of compartments

CreateCompartmentL(TUint32)

TUint32 CreateCompartmentL(TUint32aIapId)[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,
TBoolaIsStreamBased
)[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 & aMessagea message to decompress. The message must start with SigComp specific delimeter and end with SigComp specific delimeter
TUint & aBytesConsumedon return will contain the number of bytes consumed by the decompression from the original message
TBool aIsStreamBased

Deny()

voidDeny()[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,
TBoolaStreambasedProtocol,
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 & aTransportParamscontains compartmentId and iapId
CSIPRequest & aRequesta request to encode and compress
const TInetAddr & aAddressA 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,
TBoolaStreambasedProtocol,
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 & aTransportParamscontains compartmentId and iapId
CSIPResponse & aResponsea response to encode and compress
const TInetAddr & aAddressA 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)

voidRemoveCompartment(TUint32aCompartmentId)[pure virtual]

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

Parameters

TUint32 aCompartmentId

SendFailedL(TUint32)

voidSendFailedL(TUint32aCompartmentId)[pure virtual]

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

Parameters

TUint32 aCompartmentIdthe IAP for which the sending failed