Creating a new sub-connection - Adding an already connected socket

The following example shows how an application can use a sub-connection explicitly via an RSubConnection instance, and tie an already connected RSocket to the sub-connection that has had its properties set (parameter creation is described in separate section):

RSocketServ ss;
RConnection conn;
RSubConnection subconn;
RSocket sock;
TRequestStatus status;

// Connect to ESOCK

// Open an Connection
conn.Open(ss, KAfInet);

// Start the connection

// Open a TCP socket on the connection
sock.Open(ss, KAfInet, KSockStream, KProtocolInetTcp, conn);

const TInt KEchoPort = 7;

TInetAddr destAddr;

// Connect the Socket to the destination over the connection (default sub-connection)
sock.Connect(destAddr, status);

// Create a new sub-connection
subconn.Open(ss, RSubConnection::ECreateNew, conn);

// Set Properties of the sub-connection

// Move the connected socket onto the new sub-connection
TRequestStatus status;
subconn.Add(sock, status);

// Wait for socket to added

Note: Error handling is not included to aid clarity.