Beginning to receive incoming messages (over TCP)
This commit is contained in:
parent
bc6c472588
commit
b8db50354e
|
@ -40,6 +40,12 @@ struct _AppTransport
|
|||
};
|
||||
|
||||
|
||||
/* prototypes */
|
||||
/* helpers */
|
||||
static int _apptransport_helper_client_receive(AppTransport * transport,
|
||||
AppTransportClient * client, AppMessage * message);
|
||||
|
||||
|
||||
/* protected */
|
||||
/* functions */
|
||||
/* apptransport_new */
|
||||
|
@ -76,6 +82,7 @@ AppTransport * apptransport_new(AppTransportMode mode, char const * plugin,
|
|||
static void _new_helper(AppTransport * transport)
|
||||
{
|
||||
transport->helper.transport = transport;
|
||||
transport->helper.client_receive = _apptransport_helper_client_receive;
|
||||
/* FIXME really implement */
|
||||
}
|
||||
|
||||
|
@ -89,3 +96,15 @@ void apptransport_delete(AppTransport * transport)
|
|||
plugin_delete(transport->plugin);
|
||||
object_delete(transport);
|
||||
}
|
||||
|
||||
|
||||
/* private */
|
||||
/* functions */
|
||||
/* helpers */
|
||||
/* apptransport_helper_client_receive */
|
||||
static int _apptransport_helper_client_receive(AppTransport * transport,
|
||||
AppTransportClient * client, AppMessage * message)
|
||||
{
|
||||
/* FIXME implement */
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -670,6 +670,8 @@ static int _tcp_callback_connect(int fd, TCP * tcp)
|
|||
static int _tcp_socket_callback_read(int fd, TCPSocket * tcpsocket)
|
||||
{
|
||||
const size_t inc = INC;
|
||||
TCP * tcp = tcpsocket->tcp;
|
||||
AppTransportPluginHelper * helper = tcp->helper;
|
||||
ssize_t ssize;
|
||||
char * p;
|
||||
size_t size;
|
||||
|
@ -726,7 +728,8 @@ static int _tcp_socket_callback_read(int fd, TCPSocket * tcpsocket)
|
|||
}
|
||||
if(message != NULL)
|
||||
{
|
||||
/* FIXME report the message */
|
||||
helper->client_receive(helper->transport, tcpsocket->client,
|
||||
message);
|
||||
appmessage_delete(message);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -45,6 +45,8 @@ static int _transport(char const * protocol, char const * name);
|
|||
/* helpers */
|
||||
static AppTransportClient * _transport_helper_client_new(
|
||||
AppTransport * transport);
|
||||
static int _transport_helper_client_receive(AppTransport * transport,
|
||||
AppTransportClient * client, AppMessage * message);
|
||||
|
||||
/* callbacks */
|
||||
static int _transport_callback_idle(void * data);
|
||||
|
@ -82,6 +84,7 @@ static int _transport(char const * protocol, char const * name)
|
|||
helper->transport = &transport;
|
||||
helper->event = event_new();
|
||||
helper->client_new = _transport_helper_client_new;
|
||||
helper->client_receive = _transport_helper_client_receive;
|
||||
/* create a server and a client */
|
||||
transport.server = (helper->event != NULL)
|
||||
? transport.plugind->init(helper, ATM_SERVER, name) : NULL;
|
||||
|
@ -135,6 +138,18 @@ static AppTransportClient * _transport_helper_client_new(
|
|||
}
|
||||
|
||||
|
||||
/* transport_helper_client_receive */
|
||||
static int _transport_helper_client_receive(AppTransport * transport,
|
||||
AppTransportClient * client, AppMessage * message)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "DEBUG: %s()\n", __func__);
|
||||
#endif
|
||||
/* FIXME really implement */
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* callbacks */
|
||||
/* transport_callback_idle */
|
||||
static int _transport_callback_idle(void * data)
|
||||
|
|
Loading…
Reference in New Issue
Block a user