Location:
ES_SOCK.H
Link against: esock.lib
class RSubConnection : public RSubSessionBase;
A Sub-Connection, a channel within a Connection. A representation of a channel between this device and remote devices with which we are communicating. This channel will be used by one or more sockets. Depending on the state of the channel, it may not be possible to bind arbitary sockets into it. Attempts to bind sockets from different protocol families to a single channel is an error, as each channel can only be used by one protocol family.
Note: The sub-connection can represent a end-to-end channel and/or a channel from this device to an intermediate device (e.g an access server such as a GGSN which using UMTS and PDP contexts. Properties can be specified simultaneously on protocol and link level.
Before using any of these services, a connection to a socket server session must have been made and the connection must be open.
RSubSessionBase
- Client-side handle to a sub-session
RSubConnection
- A Sub-Connection, a channel within a Connection
Defined in RSubConnection
:
Add()
, CancelEventNotification()
, Close()
, Control()
, EAttachToDefault
, ECreateNew
, EventNotification()
, EventNotification()
, GetParameters()
, Open()
, RSubConnection()
, Remove()
, SetParameters()
, Start()
, Start()
, Stop()
, TEventFilter
, TSubConnType
Inherited from RSubSessionBase
:
CloseSubSession()
,
CreateAutoCloseSubSession()
,
CreateSubSession()
,
Send()
,
SendReceive()
,
Session()
,
SubSessionHandle()
IMPORT_C TInt Open(RSocketServ &aServer, TSubConnType aSubConnType, RConnection &aConnection);
Opens a new RSubConnection instance.
|
|
IMPORT_C void Close();
Closes the sub-connection.
The sub-connection will not be dropped immediately: it will be dropped when there is no more data traffic on the sub-connection.
IMPORT_C void Add(RSocket &aSocket, TRequestStatus &aStatus);
Associate a socket with a subconnection. The socket must already be using the same connection or the association attempt will fail. The completion of this method does not indicate that the socket is now running over the sub-connection, it only indicates that the association is complete and a negotiation has started to move the socket onto the subconnection. An event (via eventNotification) will be sent once the socket is running on the sub-connection.
|
IMPORT_C void Remove(RSocket &aSocket, TRequestStatus &aStatus);
Remove a socket from a subconnection. The socket will be moved back to the default sub-connection. The successful completion of this method does not indicate that the socket has moved back to the default sub-connection, it only indicates that the move negotiation has been successful. An event (via eventNotification) will be sent once the socket is running on the default sub-connection.
|
IMPORT_C TInt SetParameters(const RSubConParameterBundle &aParametersSet);
Set Parameters of the sub-connection. Successful completion of this method only indicates that the negotiation has been successfully started. An event via eventNotification) will be sent once the granted parameters are available.
|
|
IMPORT_C TInt GetParameters(RSubConParameterBundle &aParametersSet);
Fetch the sub-connection's current parameters (Requested, Acceptable and Granted)
|
|
IMPORT_C void EventNotification(TNotificationEventBuf &aEventBuffer, TBool aGenericEventsOnly, TRequestStatus &aStatus);
Requests asynchronous event notification for the sub-connection.
|
IMPORT_C void EventNotification(TNotificationEventBuf &aEventBuffer, TEventFilter aEventFilterList[], TUint aEventListLength,
TRequestStatus &aStatus);
Requests asynchronous notification of a specific list of events for the sub-connection.
|
IMPORT_C void CancelEventNotification();
Cancel an outstanding Event Notification request
IMPORT_C TInt Control(TUint aOptionLevel, TUint aOptionName, TDes8 &aOption);
|
|
struct TEventFilter;
Defined in RSubConnection::TEventFilter
:
TEventFilter()
, iEventGroupUid
, iEventMask
TEventFilter()
inline TEventFilter(TInt32 aEventGroupId=KSubConnGenericEventsImplUid, TUint32 aEventMask=0xffffffff);
|
iEventGroupUid
TInt32 iEventGroupUid;
iEventMask
TUint32 iEventMask;