Remove setCacheProxy entry method from PageArray
[charm.git] / src / libs / ck-libs / multiphaseSharedArrays / msa-DistPageMgr.ci
1 // emacs mode line -*- mode: c++; tab-width: 4 -*-
2 // this file defines the interfaces for all the type independent
3 // entities in the distributed array implementation
4 module msa
5 {
6     // this is the per processor cache of pages.
7     template<class ENTRY_TYPE, class ENTRY_OPS_CLASS,unsigned int ENTRIES_PER_PAGE> group MSA_CacheGroup
8     {
9             entry MSA_CacheGroup(unsigned int nPages,
10                                                          unsigned int max_bytes,
11                                                          unsigned int nEntries,
12                                                          unsigned int numberOfWorkerThreads);
13             entry void AckPage(unsigned int page);
14         entry void ReceivePage(unsigned int page, ENTRY_TYPE pageData[size], int size);
15         entry void ReceivePageWithPUP(unsigned int page, MSA_PageT<ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> pageData, int size);
16         entry void enroll(unsigned int numberOfWorkerThreads);
17         entry void enrollAck(int originator);  // internal method
18         entry void enrollDone();  // internal method
19         entry void SyncAck();
20         entry void SyncDone();
21
22         // for debugging purposes only
23         entry void emitBufferValue(int ID, unsigned int pageNum, unsigned int offset);
24     };
25
26     // this array is the storage for the pages. It in effect
27     // virtualizes the storage for the pages
28     template<class ENTRY_TYPE, class ENTRY_OPS_CLASS,unsigned int ENTRIES_PER_PAGE> array[1D] MSA_PageArray
29     {
30         entry MSA_PageArray(CProxy_MSA_CacheGroup<ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> cache);
31         
32         entry void GetPage(int pe);
33         entry void PAReceivePage(ENTRY_TYPE page[ENTRIES_PER_PAGE], int pe, MSA_Page_Fault_t pageState);
34         entry void PAReceiveRLEPage(MSA_WriteSpan_t spans[nSpans], unsigned int nSpans, ENTRY_TYPE entries[nEntries], unsigned int nEntries, int pe, MSA_Page_Fault_t pageState);
35         entry void PAReceiveRLEPageWithPup(MSA_WriteSpan_t spans[nSpans], unsigned int nSpans, MSA_PageT<ENTRY_TYPE, ENTRY_OPS_CLASS, ENTRIES_PER_PAGE> entries, unsigned int nEntries, int pe, MSA_Page_Fault_t pageState);
36         entry void Sync();
37         
38         // for debugging purposes only
39         entry void emit(int ID, int offset);
40     };
41 };