blob: 82aee197626183596b5a383d668aa10849a48075 [file] [log] [blame]
Jeff Thompson0aa754a2013-07-17 17:42:28 -07001/*
2 * File: UdpTransport.h
3 * Author: jefft0
4 *
5 * Created on July 14, 2013, 4:15 PM
Jeff Thompsonbc53c522013-07-17 17:11:48 -07006 */
7
8#ifndef NDN_UDPTRANSPORT_H
Jeff Thompson2d27e2f2013-08-09 12:55:00 -07009#define NDN_UDPTRANSPORT_H
Jeff Thompsonbc53c522013-07-17 17:11:48 -070010
Jeff Thompson53412192013-08-06 13:35:50 -070011#include "socket-transport.h"
Jeff Thompsonbc53c522013-07-17 17:11:48 -070012
Jeff Thompson2d27e2f2013-08-09 12:55:00 -070013#ifdef __cplusplus
Jeff Thompsonbc53c522013-07-17 17:11:48 -070014extern "C" {
15#endif
16
17struct ndn_UdpTransport {
Jeff Thompson0aa754a2013-07-17 17:42:28 -070018 struct ndn_SocketTransport base;
Jeff Thompsonbc53c522013-07-17 17:11:48 -070019};
20
21static inline void ndn_UdpTransport_init(struct ndn_UdpTransport *self)
22{
Jeff Thompson0aa754a2013-07-17 17:42:28 -070023 ndn_SocketTransport_init(&self->base);
Jeff Thompsonbc53c522013-07-17 17:11:48 -070024}
25
Jeff Thompson0aa754a2013-07-17 17:42:28 -070026static inline ndn_Error ndn_UdpTransport_connect(struct ndn_UdpTransport *self, char *host, unsigned short port)
27{
28 return ndn_SocketTransport_connect(&self->base, SOCKET_UDP, host, port);
29}
Jeff Thompsonbc53c522013-07-17 17:11:48 -070030
Jeff Thompson0aa754a2013-07-17 17:42:28 -070031static inline ndn_Error ndn_UdpTransport_send(struct ndn_UdpTransport *self, unsigned char *data, unsigned int dataLength)
32{
33 return ndn_SocketTransport_send(&self->base, data, dataLength);
34}
Jeff Thompsonbc53c522013-07-17 17:11:48 -070035
Jeff Thompson0aa754a2013-07-17 17:42:28 -070036static inline ndn_Error ndn_UdpTransport_receive
37 (struct ndn_UdpTransport *self, unsigned char *buffer, unsigned int bufferLength, unsigned int *nBytes)
38{
39 return ndn_SocketTransport_receive(&self->base, buffer, bufferLength, nBytes);
40}
Jeff Thompsonbc53c522013-07-17 17:11:48 -070041
Jeff Thompson57963882013-08-05 16:01:25 -070042static inline ndn_Error ndn_UdpTransport_close(struct ndn_UdpTransport *self)
43{
44 return ndn_SocketTransport_close(&self->base);
45}
46
Jeff Thompson2d27e2f2013-08-09 12:55:00 -070047#ifdef __cplusplus
Jeff Thompsonbc53c522013-07-17 17:11:48 -070048}
49#endif
50
51#endif