Example #1
0
bool DataSpace::ListPushRight( char* key, int keylen, char* val, int vallen, bool ops /*= true */ )
{
	void* pkey = JK_MALLOC( keylen+1 );
	if ( !pkey )
	{
		DISPMSG_ERROR( "malloc memory failed!\n");
		return false;
	}
	void* pval = JK_MALLOC( vallen+1 );
	if ( !pval )
	{
		DISPMSG_ERROR( "malloc memory failed!\n");
		JK_FREE( pkey );
		return false;
	}
	JK_MEMCPY_S(pkey,keylen+1,key,keylen+1);
	JK_MEMCPY_S(pval,vallen+1,val,vallen+1);
	moly_list_type* pDList = (moly_list_type*)m_normalDict.GetElement( pkey );
	if ( pDList )
	{
		if ( NULL == pDList->RPush( (char*)pval ) )
		{
			JK_FREE( pkey );
			JK_FREE( pval );
			return false;
		}
		if ( ops )
		{
			Operation	( LOG_CMD_LIST_RPUSH, pkey, pval );
			Replication	( LOG_CMD_LIST_RPUSH, key, pval );
		}
		return true;
	}
	pDList = JK_NEW(moly_list_type);
	if ( !pDList )
	{
		DISPMSG_ERROR( "malloc memory failed!\n");
		JK_FREE( pkey );
		JK_FREE( pval );
		return false;
	}
	if( NULL == pDList->RPush( (char*)pval ) )
	{
		JK_FREE( pkey );
		JK_FREE( pval );
		JK_DELETE( moly_list_type, pDList );
		return false;
	}
	if ( !m_normalDict.AddElement(pkey, pDList ) )
	{
		JK_FREE( pkey );
		JK_FREE( pval );
		JK_DELETE( moly_list_type, pDList );
		return false;
	}
	if ( ops )
	{
		Operation	( LOG_CMD_LIST_RPUSH, pkey, pval );
		Replication	( LOG_CMD_LIST_RPUSH, key, pval );
	}
	return true;
}
Example #2
0
void NetInterface::DestroyConnectedObject( NetworkObject *pNetworkObject )
{
	JK_DELETE(ClientAgent, pNetworkObject);
}