Skip to content
Snippets Groups Projects
Commit 9af5f453 authored by Thomas Jahns's avatar Thomas Jahns :cartwheel:
Browse files

Replace switch over backend write methods with specific override.

parent d0a13383
No related branches found
No related tags found
No related merge requests found
......@@ -33,32 +33,6 @@ const char *token = "%";
/***************************************************************/
size_t
cdiPioFileWrite(int fileID, const void *restrict buffer, size_t len, int tsID)
{
size_t iret = 0;
switch ( commInqIOMode ())
{
case PIO_MPI:
iret = fwMPINONB(fileID, buffer, len, tsID);
break;
#ifndef _SX
case PIO_ASYNCH:
#endif
case PIO_WRITER:
iret = pioSendWrite(fileID, buffer, len, tsID);
break;
case PIO_FPGUARD:
iret = fwPOSIXFPGUARDSENDRECV(fileID, buffer, len, tsID);
break;
}
return iret;
}
/***************************************************************/
void cdiPioFileWritingInit(void)
{
int IOMode = commInqIOMode ();
......
......@@ -11,8 +11,6 @@
void cdiPioFileWritingInit(void);
void cdiPioFileWritingFinalize(void);
size_t cdiPioFileWrite(int fileID, const void *restrict buffer, size_t len,
int tsID);
#endif
/*
......
......@@ -91,13 +91,11 @@ typedef void (*elemOp)(void *elem, void *data);
void listSetForeach(listSet *q, elemOp func, void *data);
/* pio_mpinonb.c */
size_t fwMPINONB(int, const void *, size_t, int);
void initMPINONB(void);
void finalizeMPINONB ( void );
/* common functionality for file split between collectors and writer(s) */
size_t pioSendWrite(int, const void *, size_t, int);
void pioSendInitialize(void);
void pioSendFinalize(void);
......@@ -108,7 +106,6 @@ void pioWriterAIO(void);
#endif
/* pio_posixfpguardsendrecv.c */
size_t fwPOSIXFPGUARDSENDRECV(int, const void *, size_t, int);
void initPOSIXFPGUARDSENDRECV(void);
void finalizePOSIXFPGUARDSENDRECV ( void );
......
......@@ -173,7 +173,8 @@ writeMPINONB(aFiledataM *of)
/***************************************************************/
size_t fwMPINONB(int fileID, const void *buffer, size_t len, int tsID)
static size_t
fwMPINONB(int fileID, const void *buffer, size_t len, int tsID)
{
int error = 0;
int filled = 0;
......@@ -311,6 +312,7 @@ initMPINONB(void)
namespaceSwitchSet(NSSWITCH_FILE_OPEN, NSSW_FUNC(fowMPINONB));
namespaceSwitchSet(NSSWITCH_FILE_CLOSE, NSSW_FUNC(fcMPINONB));
namespaceSwitchSet(NSSWITCH_FILE_WRITE, NSSW_FUNC(fwMPINONB));
if ( bibAFiledataM == NULL )
xabort ( "listSetNew did not succeed" );
......
......@@ -381,7 +381,7 @@ flushOp(aFiledataPF *a, int tsID)
}
size_t
static size_t
fwPOSIXFPGUARDSENDRECV(int fileID, const void *buffer, size_t len, int tsID)
{
int error = 0;
......@@ -538,6 +538,8 @@ initPOSIXFPGUARDSENDRECV(void)
NSSW_FUNC(fowPOSIXFPGUARDSENDRECV));
namespaceSwitchSet(NSSWITCH_FILE_CLOSE,
NSSW_FUNC(fcPOSIXFPGUARDSENDRECV));
namespaceSwitchSet(NSSWITCH_FILE_WRITE,
NSSW_FUNC(fwPOSIXFPGUARDSENDRECV));
bibAFiledataPF = listSetNew(destroyAFiledataPF, compareNamesAPF);
}
}
......
......@@ -149,7 +149,7 @@ flushOp(remoteFileBuf *fb, int tsID)
}
size_t
static size_t
pioSendWrite(int id, const void *buffer, size_t len, int tsID)
{
int error = 0;
......@@ -319,6 +319,7 @@ pioSendInitialize(void)
{
namespaceSwitchSet(NSSWITCH_FILE_OPEN, NSSW_FUNC(pioSendOpen));
namespaceSwitchSet(NSSWITCH_FILE_CLOSE, NSSW_FUNC(pioSendClose));
namespaceSwitchSet(NSSWITCH_FILE_WRITE, NSSW_FUNC(pioSendWrite));
bibRemoteFileBuf = listSetNew(destroyRemoteFileBuf, compareNames);
}
}
......
......@@ -1024,8 +1024,6 @@ void cdiPioCollectorMessageLoop(void)
namespaceSwitchSet(NSSWITCH_CDF_STREAM_SETUP,
NSSW_FUNC(cdiPioServerCdfDefVars));
#endif
namespaceSwitchSet(NSSWITCH_FILE_WRITE,
NSSW_FUNC(cdiPioFileWrite));
int *streamActivity = NULL;
for ( ;; )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment