Line data Source code
1 : #include "fd_aio.h" 2 : 3 : /* These are currently stubs in anticipation of future AIO 4 : functionality. */ 5 : 6 : ulong 7 0 : fd_aio_align( void ) { 8 0 : return FD_AIO_ALIGN; 9 0 : } 10 : 11 : ulong 12 0 : fd_aio_footprint( void ) { 13 0 : return FD_AIO_FOOTPRINT; 14 0 : } 15 : 16 : void * 17 : fd_aio_new( void * shmem, 18 : void * ctx, 19 0 : fd_aio_send_func_t send_func ) { 20 0 : if( FD_UNLIKELY( !shmem ) ) { 21 0 : FD_LOG_WARNING(( "NULL shmem" )); 22 0 : return NULL; 23 0 : } 24 : 25 0 : if( FD_UNLIKELY( !send_func ) ) { 26 0 : FD_LOG_WARNING(( "NULL send_func" )); 27 0 : return NULL; 28 0 : } 29 : 30 0 : fd_aio_t * aio = (fd_aio_t *)shmem; 31 : 32 0 : aio->ctx = ctx; 33 0 : aio->send_func = send_func; 34 : 35 0 : return (void *)aio; 36 0 : } 37 : 38 : fd_aio_t * 39 0 : fd_aio_join( void * shaio ) { 40 0 : if( FD_UNLIKELY( !shaio ) ) { 41 0 : FD_LOG_WARNING(( "NULL shaio" )); 42 0 : return NULL; 43 0 : } 44 0 : return (fd_aio_t *)shaio; 45 0 : } 46 : 47 : void * 48 0 : fd_aio_leave( fd_aio_t * aio ) { 49 0 : if( FD_UNLIKELY( !aio ) ) { 50 0 : FD_LOG_WARNING(( "NULL aio" )); 51 0 : return NULL; 52 0 : } 53 0 : return (void *)aio; 54 0 : } 55 : 56 : void * 57 0 : fd_aio_delete( void * shaio ) { 58 0 : if( FD_UNLIKELY( !shaio ) ) { 59 0 : FD_LOG_WARNING(( "NULL shaio" )); 60 0 : return NULL; 61 0 : } 62 0 : return shaio; 63 0 : } 64 : 65 : char const * 66 0 : fd_aio_strerror( int err ) { 67 0 : switch( err ) { 68 0 : case FD_AIO_SUCCESS: return "success"; 69 0 : case FD_AIO_ERR_INVAL: return "bad input arguments"; 70 0 : case FD_AIO_ERR_AGAIN: return "try again later"; 71 0 : default: break; 72 0 : } 73 0 : return "unknown"; 74 0 : } 75 :