Changeset 5b3e74a in mainline for uspace/lib/c/generic/async/server.c


Ignore:
Timestamp:
2019-01-11T19:41:27Z (5 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Children:
394e22f
Parents:
fec7ba0
Message:

Remove async "fast" and "slow" functions from public interface

"fast" and "slow" paths are implementation detail.
All macros in <async.h> are turned into external functions, so that
this implementation detail doesn't leak. Additionally, removing macros is
A Good Thing on its own, e.g. helping C++ interoperability.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/async/server.c

    rfec7ba0 r5b3e74a  
    878878}
    879879
     880bool async_get_call(ipc_call_t *call)
     881{
     882        return async_get_call_timeout(call, 0);
     883}
     884
    880885void *async_get_client_data(void)
    881886{
     
    10961101}
    10971102
    1098 errno_t async_forward_fast(ipc_call_t *call, async_exch_t *exch,
     1103static errno_t async_forward_fast(ipc_call_t *call, async_exch_t *exch,
    10991104    sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, unsigned int mode)
    11001105{
     
    11121117}
    11131118
    1114 errno_t async_forward_slow(ipc_call_t *call, async_exch_t *exch,
     1119static errno_t async_forward_slow(ipc_call_t *call, async_exch_t *exch,
    11151120    sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3,
    11161121    sysarg_t arg4, sysarg_t arg5, unsigned int mode)
     
    11271132        return ipc_forward_slow(chandle, exch->phone, imethod, arg1, arg2, arg3,
    11281133            arg4, arg5, mode);
     1134}
     1135
     1136errno_t async_forward_0(ipc_call_t *call, async_exch_t *exch, sysarg_t imethod,
     1137    unsigned int mode)
     1138{
     1139        return async_forward_fast(call, exch, imethod, 0, 0, mode);
     1140}
     1141
     1142errno_t async_forward_1(ipc_call_t *call, async_exch_t *exch, sysarg_t imethod,
     1143    sysarg_t arg1, unsigned int mode)
     1144{
     1145        return async_forward_fast(call, exch, imethod, arg1, 0, mode);
     1146}
     1147
     1148errno_t async_forward_2(ipc_call_t *call, async_exch_t *exch, sysarg_t imethod,
     1149    sysarg_t arg1, sysarg_t arg2, unsigned int mode)
     1150{
     1151        return async_forward_fast(call, exch, imethod, arg1, arg2, mode);
     1152}
     1153
     1154errno_t async_forward_3(ipc_call_t *call, async_exch_t *exch, sysarg_t imethod,
     1155    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, unsigned int mode)
     1156{
     1157        return async_forward_slow(call, exch, imethod, arg1, arg2, arg3, 0, 0,
     1158            mode);
     1159}
     1160
     1161errno_t async_forward_4(ipc_call_t *call, async_exch_t *exch, sysarg_t imethod,
     1162    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4,
     1163    unsigned int mode)
     1164{
     1165        return async_forward_slow(call, exch, imethod, arg1, arg2, arg3, arg4,
     1166            0, mode);
     1167}
     1168
     1169errno_t async_forward_5(ipc_call_t *call, async_exch_t *exch, sysarg_t imethod,
     1170    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5,
     1171    unsigned int mode)
     1172{
     1173        return async_forward_slow(call, exch, imethod, arg1, arg2, arg3, arg4,
     1174            arg5, mode);
    11291175}
    11301176
     
    13201366 *
    13211367 */
    1322 errno_t async_data_read_forward_fast(async_exch_t *exch, sysarg_t imethod,
     1368static errno_t async_data_read_forward_fast(async_exch_t *exch, sysarg_t imethod,
    13231369    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4,
    13241370    ipc_call_t *dataptr)
     
    13331379        }
    13341380
    1335         aid_t msg = async_send_fast(exch, imethod, arg1, arg2, arg3, arg4,
     1381        aid_t msg = async_send_4(exch, imethod, arg1, arg2, arg3, arg4,
    13361382            dataptr);
    13371383        if (msg == 0) {
     
    13521398
    13531399        return (errno_t) rc;
     1400}
     1401
     1402errno_t async_data_read_forward_4_1(async_exch_t *exch, sysarg_t imethod,
     1403    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4,
     1404    ipc_call_t *dataptr)
     1405{
     1406        return async_data_read_forward_fast(exch, imethod, arg1, arg2, arg3,
     1407            arg4, dataptr);
    13541408}
    13551409
     
    14971551 *
    14981552 */
    1499 errno_t async_data_write_forward_fast(async_exch_t *exch, sysarg_t imethod,
    1500     sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4,
    1501     ipc_call_t *dataptr)
     1553static errno_t async_data_write_forward_fast(async_exch_t *exch,
     1554    sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3,
     1555    sysarg_t arg4, ipc_call_t *dataptr)
    15021556{
    15031557        if (exch == NULL)
     
    15101564        }
    15111565
    1512         aid_t msg = async_send_fast(exch, imethod, arg1, arg2, arg3, arg4,
     1566        aid_t msg = async_send_4(exch, imethod, arg1, arg2, arg3, arg4,
    15131567            dataptr);
    15141568        if (msg == 0) {
     
    15311585}
    15321586
     1587errno_t async_data_write_forward_4_1(async_exch_t *exch, sysarg_t imethod,
     1588    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4,
     1589    ipc_call_t *dataptr)
     1590{
     1591        return async_data_write_forward_fast(exch, imethod, arg1, arg2, arg3,
     1592            arg4, dataptr);
     1593}
     1594
    15331595/** Wrapper for receiving the IPC_M_CONNECT_TO_ME calls.
    15341596 *
Note: See TracChangeset for help on using the changeset viewer.