Пример #1
0
void MOSI_protocol::process_cache_request (Mreq *request)
{
	switch (state) {
		case MOSI_CACHE_I: do_cache_I(request); break;
		case MOSI_CACHE_IS: do_cache_IS(request); break;
		case MOSI_CACHE_IM: do_cache_IM(request); break;
		case MOSI_CACHE_S: do_cache_S(request); break;
		case MOSI_CACHE_SM: do_cache_SM(request); break;
		case MOSI_CACHE_O: do_cache_O(request); break;
		case MOSI_CACHE_OM: do_cache_OM(request); break;
		case MOSI_CACHE_M: do_cache_M(request); break;
    default:
        fatal_error ("Invalid Cache State for MOSI Protocol\n");
    }
}
Пример #2
0
//Redirect work to the appropriate function
void TYPE(_protocol)::process_cache_request (Mreq *request)
{
	switch (state) {
	case TYPE(_CACHE_I): do_cache_I (request); break;
	case TYPE(_CACHE_S): do_cache_S (request); break;
	case TYPE(_CACHE_O): do_cache_O (request); break;
	case TYPE(_CACHE_M): do_cache_M (request); break;
	case TYPE(_CACHE_IE): do_cache_IE (request); break;
	case TYPE(_CACHE_IM): do_cache_IM (request); break;
	case TYPE(_CACHE_SM): do_cache_SM (request); break;
	case TYPE(_CACHE_FM): do_cache_FM (request); break;

	default:
		fatal_error ("Invalid Cache State for TYPE Protocol\n");
	}
}