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