TNG: Add first steps for communicator testing
[oweals/gnunet.git] / src / transport / transport-testing2.h
1 /*
2      This file is part of GNUnet.
3      Copyright (C) 2019 GNUnet e.V.
4
5      GNUnet is free software: you can redistribute it and/or modify it
6      under the terms of the GNU Affero General Public License as published
7      by the Free Software Foundation, either version 3 of the License,
8      or (at your option) any later version.
9
10      GNUnet is distributed in the hope that it will be useful, but
11      WITHOUT ANY WARRANTY; without even the implied warranty of
12      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13      Affero General Public License for more details.
14
15      You should have received a copy of the GNU Affero General Public License
16      along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18      SPDX-License-Identifier: AGPL3.0-or-later
19 */
20
21 /**
22  * @file transport/transport-testing2.h
23  * @brief functions related to testing-tng
24  * @author Christian Grothoff
25  * @author Julius Bünger
26  */
27 #include "platform.h"
28 #include "gnunet_util_lib.h"
29 #include "gnunet_ats_transport_service.h"
30 #include "transport.h"
31
32 /**
33  * @brief Function signature for callbacks that are called when new communicators become available
34  *
35  * @param Closure
36  * @param msg Message
37  */
38 typedef void
39 (*GNUNET_TRANSPORT_TESTING_CommunicatorAvailableCallback)(void *cls,
40                                                    const struct GNUNET_TRANSPORT_CommunicatorAvailableMessage *msg);
41
42
43 /**
44  * @brief Start communicator part of transport service and communicator
45  *
46  * @param service_name Name of the service
47  * @param cfg Configuration handle
48  * @param communicator_available Callback that is called when a new
49  * communicator becomes available
50  * @param cb_cls Closure to @p communicator_available
51  *
52  * @return Handle to the communicator duo
53  */
54 struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *
55 GNUNET_TRANSPORT_TESTING_transport_communicator_service_start
56   (const char *service_name,
57    struct GNUNET_CONFIGURATION_Handle *cfg,
58    GNUNET_TRANSPORT_TESTING_CommunicatorAvailableCallback communicator_available,
59    //GNUNET_TRANSPORT_TESTING_Callback2 cb2,
60    //GNUNET_TRANSPORT_TESTING_Callback3 cb3,
61    //GNUNET_TRANSPORT_TESTING_Callback4 cb4,
62    void *cb_cls);
63
64 //void
65 //GNUNET_TRANSPORT_TESTING_transport_communicator_open_queue
66 //  (struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *tch,
67 //   const char *address);
68 //
69 //struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorTransmission *
70 //GNUNET_TRANSPORT_TESTING_transport_communicator_send
71 //  (struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue *tcq,
72 //   const struct GNUNET_MessageHeader *hdr,
73 //   GNUNET_TRANSPORT_TESTING_SuccessStatus cb, void *cb_cls);
74