void simpleTunnelMsgHandlerInit(SimpleTunnelMsgHandler *pMsgHandler,
		char *consumerName, RsslUInt8 domainType, RsslBool useAuthentication, RsslBool isProvider)
{
	tunnelStreamHandlerInit(&pMsgHandler->tunnelStreamHandler, consumerName, domainType, useAuthentication,
			simpleTunnelMsgHandlerProcessTunnelOpened,
			simpleTunnelMsgHandlerProcessTunnelClosed,
			simpleTunnelMsgHandlerConsumerMsgCallback);

	pMsgHandler->isProvider = isProvider;
}
void queueMsgHandlerInit(QueueMsgHandler *pQueueMsgHandler, char *consumerName, RsslUInt8 domainType,
		RsslBool useAuthentication)
{
	int i;
	tunnelStreamHandlerInit(&pQueueMsgHandler->tunnelStreamHandler,
			consumerName, domainType, useAuthentication, RSSL_TRUE /* Queue messaging */,
			queueMsgHandlerProcessTunnelOpened,
			queueMsgHandlerProcessTunnelClosed,
			queueMsgHandlerDefaultMsgCallback,
			queueMsgHandlerQueueMsgCallback);

	rsslClearBuffer(&pQueueMsgHandler->sourceName);
	for (i = 0; i < MAX_DEST_NAMES; ++i)
		rsslClearBuffer(&pQueueMsgHandler->destNames[i]);
	pQueueMsgHandler->destNameCount = 0;
	pQueueMsgHandler->isQueueStreamOpen = RSSL_FALSE;
	pQueueMsgHandler->identifier = 0;
}