Changeset 4f13e19 in mainline for uspace/lib/c/generic/async/server.c


Ignore:
Timestamp:
2019-01-20T15:56:59Z (5 years ago)
Author:
GitHub <noreply@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d8cb48d
Parents:
eefdd7c
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2019-01-20 15:56:59)
git-committer:
GitHub <noreply@…> (2019-01-20 15:56:59)
Message:

Remove async "fast" and "slow" functions from public interface (#153)

"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

    reefdd7c r4f13e19  
    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_0_0(async_exch_t *exch, sysarg_t imethod)
     1403{
     1404        return async_data_read_forward_fast(exch, imethod, 0, 0, 0, 0, NULL);
     1405}
     1406
     1407errno_t async_data_read_forward_1_0(async_exch_t *exch, sysarg_t imethod,
     1408    sysarg_t arg1)
     1409{
     1410        return async_data_read_forward_fast(exch, imethod, arg1, 0, 0, 0, NULL);
     1411}
     1412
     1413errno_t async_data_read_forward_2_0(async_exch_t *exch, sysarg_t imethod,
     1414    sysarg_t arg1, sysarg_t arg2)
     1415{
     1416        return async_data_read_forward_fast(exch, imethod, arg1, arg2, 0,
     1417            0, NULL);
     1418}
     1419
     1420errno_t async_data_read_forward_3_0(async_exch_t *exch, sysarg_t imethod,
     1421    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3)
     1422{
     1423        return async_data_read_forward_fast(exch, imethod, arg1, arg2, arg3,
     1424            0, NULL);
     1425}
     1426
     1427errno_t async_data_read_forward_4_0(async_exch_t *exch, sysarg_t imethod,
     1428    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4)
     1429{
     1430        return async_data_read_forward_fast(exch, imethod, arg1, arg2, arg3,
     1431            arg4, NULL);
     1432}
     1433
     1434errno_t async_data_read_forward_0_1(async_exch_t *exch, sysarg_t imethod,
     1435    ipc_call_t *dataptr)
     1436{
     1437        return async_data_read_forward_fast(exch, imethod, 0, 0, 0,
     1438            0, dataptr);
     1439}
     1440
     1441errno_t async_data_read_forward_1_1(async_exch_t *exch, sysarg_t imethod,
     1442    sysarg_t arg1, ipc_call_t *dataptr)
     1443{
     1444        return async_data_read_forward_fast(exch, imethod, arg1, 0, 0,
     1445            0, dataptr);
     1446}
     1447
     1448errno_t async_data_read_forward_2_1(async_exch_t *exch, sysarg_t imethod,
     1449    sysarg_t arg1, sysarg_t arg2, ipc_call_t *dataptr)
     1450{
     1451        return async_data_read_forward_fast(exch, imethod, arg1, arg2, 0,
     1452            0, dataptr);
     1453}
     1454
     1455errno_t async_data_read_forward_3_1(async_exch_t *exch, sysarg_t imethod,
     1456    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, ipc_call_t *dataptr)
     1457{
     1458        return async_data_read_forward_fast(exch, imethod, arg1, arg2, arg3,
     1459            0, dataptr);
     1460}
     1461
     1462errno_t async_data_read_forward_4_1(async_exch_t *exch, sysarg_t imethod,
     1463    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4,
     1464    ipc_call_t *dataptr)
     1465{
     1466        return async_data_read_forward_fast(exch, imethod, arg1, arg2, arg3,
     1467            arg4, dataptr);
    13541468}
    13551469
     
    14971611 *
    14981612 */
    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)
     1613static errno_t async_data_write_forward_fast(async_exch_t *exch,
     1614    sysarg_t imethod, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3,
     1615    sysarg_t arg4, ipc_call_t *dataptr)
    15021616{
    15031617        if (exch == NULL)
     
    15101624        }
    15111625
    1512         aid_t msg = async_send_fast(exch, imethod, arg1, arg2, arg3, arg4,
     1626        aid_t msg = async_send_4(exch, imethod, arg1, arg2, arg3, arg4,
    15131627            dataptr);
    15141628        if (msg == 0) {
     
    15311645}
    15321646
     1647errno_t async_data_write_forward_0_0(async_exch_t *exch, sysarg_t imethod)
     1648{
     1649        return async_data_write_forward_fast(exch, imethod, 0, 0, 0,
     1650            0, NULL);
     1651}
     1652
     1653errno_t async_data_write_forward_1_0(async_exch_t *exch, sysarg_t imethod,
     1654    sysarg_t arg1)
     1655{
     1656        return async_data_write_forward_fast(exch, imethod, arg1, 0, 0,
     1657            0, NULL);
     1658}
     1659
     1660errno_t async_data_write_forward_2_0(async_exch_t *exch, sysarg_t imethod,
     1661    sysarg_t arg1, sysarg_t arg2)
     1662{
     1663        return async_data_write_forward_fast(exch, imethod, arg1, arg2, 0,
     1664            0, NULL);
     1665}
     1666
     1667errno_t async_data_write_forward_3_0(async_exch_t *exch, sysarg_t imethod,
     1668    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3)
     1669{
     1670        return async_data_write_forward_fast(exch, imethod, arg1, arg2, arg3,
     1671            0, NULL);
     1672}
     1673
     1674errno_t async_data_write_forward_4_0(async_exch_t *exch, sysarg_t imethod,
     1675    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4)
     1676{
     1677        return async_data_write_forward_fast(exch, imethod, arg1, arg2, arg3,
     1678            arg4, NULL);
     1679}
     1680
     1681errno_t async_data_write_forward_0_1(async_exch_t *exch, sysarg_t imethod,
     1682    ipc_call_t *dataptr)
     1683{
     1684        return async_data_write_forward_fast(exch, imethod, 0, 0, 0,
     1685            0, dataptr);
     1686}
     1687
     1688errno_t async_data_write_forward_1_1(async_exch_t *exch, sysarg_t imethod,
     1689    sysarg_t arg1, ipc_call_t *dataptr)
     1690{
     1691        return async_data_write_forward_fast(exch, imethod, arg1, 0, 0,
     1692            0, dataptr);
     1693}
     1694
     1695errno_t async_data_write_forward_2_1(async_exch_t *exch, sysarg_t imethod,
     1696    sysarg_t arg1, sysarg_t arg2, ipc_call_t *dataptr)
     1697{
     1698        return async_data_write_forward_fast(exch, imethod, arg1, arg2, 0,
     1699            0, dataptr);
     1700}
     1701
     1702errno_t async_data_write_forward_3_1(async_exch_t *exch, sysarg_t imethod,
     1703    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, ipc_call_t *dataptr)
     1704{
     1705        return async_data_write_forward_fast(exch, imethod, arg1, arg2, arg3,
     1706            0, dataptr);
     1707}
     1708
     1709errno_t async_data_write_forward_4_1(async_exch_t *exch, sysarg_t imethod,
     1710    sysarg_t arg1, sysarg_t arg2, sysarg_t arg3, sysarg_t arg4,
     1711    ipc_call_t *dataptr)
     1712{
     1713        return async_data_write_forward_fast(exch, imethod, arg1, arg2, arg3,
     1714            arg4, dataptr);
     1715}
     1716
    15331717/** Wrapper for receiving the IPC_M_CONNECT_TO_ME calls.
    15341718 *
Note: See TracChangeset for help on using the changeset viewer.