/** Fwp endpoint attributes */
fwp_endpoint_attr_t attr;
/* Vres this fwp endpoint is bound to */
- fwp_vres_d_t vresd;
+ fwp_vres_t *vres;
/** For send enpoint it contains destination address for
* receive endpoint it is filled with the msg source address
*/
/**
* Destroy endpoint
*
- * \param[in] epointd Endpoint descriptor
+ * \param[in] epd Endpoint descriptor
* \return On success 0 is returned.
* On error, negative error value is returned and errno is set appropriately.
*/
-int fwp_endpoint_destroy(fwp_endpoint_d_t epointd)
+int fwp_endpoint_destroy(fwp_endpoint_t *ep)
{
- if (epointd->sockd > 0)
- close(epointd->sockd);
+ if (ep->sockd > 0)
+ close(ep->sockd);
- fwp_endpoint_free(epointd);
+ fwp_endpoint_free(ep);
return 0;
}
/**
* Get endpoint parameters
*
- * \param[in] epointd Endpoint descriptor
+ * \param[in] ep Endpoint descriptor
* \param[out] node Node identifier
* \param[out] port Port
* \param[out] attr Endpoint`s attributes
* \return On success 0 is returned.
* On error, negative error value is returned.
*/
-int fwp_endpoint_get_params(fwp_endpoint_d_t epointd, unsigned int *node,
+int fwp_endpoint_get_params(fwp_endpoint_t *ep, unsigned int *node,
unsigned int *port, fwp_endpoint_attr_t *attr)
{
- fwp_endpoint_t *epoint = epointd;
-
- if (node) *node = epoint->node;
- if (port) *port = epoint->port;
- if (attr) *attr = epoint->attr;
+ if (node) *node = ep->node;
+ if (port) *port = ep->port;
+ if (attr) *attr = ep->attr;
return 0;
}
* \param[in] node IP address of destination node
* \param[in] port UDP port
* \param[in] attr Endpoint attributes
- * \param[out] epointdp Pointer to the descriptor of newly created endpoint
+ * \param[out] epp Pointer to the descriptor of newly created endpoint
*
* \return Zero on success, -1 on error and sets errno appropriately.
*
int fwp_send_endpoint_create(unsigned int node,
unsigned int port,
fwp_endpoint_attr_t *attr,
- fwp_endpoint_d_t *epointd)
+ fwp_endpoint_t **epoint)
{
struct sockaddr_in *addr;
fwp_endpoint_t *fwp_epoint;
fwp_send_endpoint_bind(fwp_epoint, fwp_epoint->vresd);
#endif
- *epointd = fwp_epoint;
+ *epoint = fwp_epoint;
return fwp_epoint->sockd;
err:
fwp_endpoint_destroy(fwp_epoint);
*/
int fwp_receive_endpoint_create(unsigned int port,
fwp_endpoint_attr_t *attr,
- fwp_endpoint_d_t *epointd)
+ fwp_endpoint_t **epp)
{
struct sockaddr_in *addr;
fwp_endpoint_t *fwp_epoint;
addr = (struct sockaddr_in*) fwp_epoint->peer.addr;
fwp_epoint->port = ntohs(addr->sin_port);
FWP_DEBUG("Recv port= %d\n",ntohs(addr->sin_port));
- *epointd = fwp_epoint;
+ *epp = fwp_epoint;
return 0;
err:
fwp_endpoint_destroy(fwp_epoint);
/**
* Binds send endpoint to vres
*
- * \param[in] vres_id identifier of vres
- * \param[in] epoint_id send endpoint identifier
+ * \param[in] vres identifier of vres
+ * \param[in] ep send endpoint identifier
*
* \return On success returns 0. On error, -1 and errno is set appropriately.
*/
-int fwp_send_endpoint_bind(fwp_endpoint_d_t epointd, fwp_vres_d_t vresd)
+int fwp_send_endpoint_bind(fwp_endpoint_t *ep, fwp_vres_t *vres)
{
int rv = 0;
#ifndef FWP_WITHOUT_CONTNEGT
- fwp_endpoint_t *fwp_epoint = epointd;
- fwp_epoint->vresd = vresd;
- rv = fwp_vres_bind(vresd, fwp_epoint->sockd);
+ ep->vres = vres;
+ rv = fwp_vres_bind(vres, ep->sockd);
#endif
/* if send endpoint is already bound
if (epoint->type == FWP_EPOINT_BOUND) {
* \return On success returns 0. On error, -1 is returned and errno is set appropriately.
*
*/
-int fwp_send_endpoint_unbind(fwp_endpoint_d_t epointd)
+int fwp_send_endpoint_unbind(fwp_endpoint_t *ep)
{
int rv = 0;
- fwp_endpoint_t *fwp_epoint = epointd;
/* unlink epoint-vres mutually */
- if ((rv = fwp_vres_unbind(fwp_epoint->vresd)) < 0)
+ if ((rv = fwp_vres_unbind(ep->vres)) < 0)
return rv;
return 0;
* On error, -1 is returned and errno is set appropriately.
*
*/
-int fwp_recv_conn(fwp_endpoint_d_t epointd, void *buffer,
+int fwp_recv_conn(fwp_endpoint_t *ep, void *buffer,
size_t buffer_size)
{
- fwp_endpoint_t *fwp_epoint = epointd;
- fwp_sockaddr_t *peer = &fwp_epoint->peer;
- fd_set fdset = fwp_epoint->fdset;
+ fwp_sockaddr_t *peer = &ep->peer;
+ fd_set fdset = ep->fdset;
ssize_t len;
int i;
FWP_DEBUG("Checking for tcp data\n");
- for (i = 0; i < fwp_epoint->nr_connections; i++) {
- if (!FD_ISSET(fwp_epoint->c_sockd[i], &fdset)) {
+ for (i = 0; i < ep->nr_connections; i++) {
+ if (!FD_ISSET(ep->c_sockd[i], &fdset)) {
continue;
}
FWP_DEBUG("Prepare to receive tcp data\n");
peer->addrlen = sizeof(struct sockaddr_in);
- len = _fwp_recvfrom(fwp_epoint->c_sockd[i], buffer,
+ len = _fwp_recvfrom(ep->c_sockd[i], buffer,
buffer_size,0, peer);
if (len < 0) /* Error */
/* tcp connection closed */
FWP_DEBUG("Connection closed\n");
- FD_CLR(fwp_epoint->c_sockd[i], &fwp_epoint->fdset);
- memcpy(fwp_epoint->c_sockd+i, fwp_epoint->c_sockd+i+1,
- sizeof(int)*(fwp_epoint->nr_connections -i-1));
- fwp_epoint->nr_connections--;
+ FD_CLR(ep->c_sockd[i], &ep->fdset);
+ memcpy(ep->c_sockd+i, ep->c_sockd+i+1,
+ sizeof(int)*(ep->nr_connections -i-1));
+ ep->nr_connections--;
return 0;
}
return 0;
* On error, -1 is returned and errno is set appropriately.
*
*/
-ssize_t fwp_recv(fwp_endpoint_d_t epointd,
+ssize_t fwp_recv(fwp_endpoint_t *ep,
void *buffer, const size_t buffer_size,
unsigned int *from, int flags)
{
- fwp_endpoint_t *fwp_epoint = epointd;
- fwp_sockaddr_t *peer = &fwp_epoint->peer;
- struct sockaddr_in *addr = (struct sockaddr_in*) fwp_epoint->peer.addr;
+ fwp_sockaddr_t *peer = &ep->peer;
+ struct sockaddr_in *addr = (struct sockaddr_in*) ep->peer.addr;
ssize_t len;
fd_set fdset;
return -1;
}*/
- if (fwp_epoint->attr.reliability == FWP_EPOINT_BESTEFFORT) {
- len = _fwp_recvfrom(fwp_epoint->sockd, buffer,
+ if (ep->attr.reliability == FWP_EPOINT_BESTEFFORT) {
+ len = _fwp_recvfrom(ep->sockd, buffer,
buffer_size, 0, peer);
*from = addr->sin_addr.s_addr;
while (1){
/* FWP_EPOINT_RELIABLE */
- fdset = fwp_epoint->fdset;
+ fdset = ep->fdset;
if (select(FD_SETSIZE, &fdset, (fd_set *)0,
(fd_set *)0, NULL) < 0) {
return -1;
}
- if (FD_ISSET(fwp_epoint->sockd, &fdset)) { /* is it listen socket? */
- fwp_receive_endpoint_accept(fwp_epoint);
+ if (FD_ISSET(ep->sockd, &fdset)) { /* is it listen socket? */
+ fwp_receive_endpoint_accept(ep);
continue;
}
/* Check client TCP sockets */
- len = fwp_recv_conn(fwp_epoint, buffer, buffer_size);
+ len = fwp_recv_conn(ep, buffer, buffer_size);
if (len) {
*from = addr->sin_addr.s_addr;
return len;
* On error, -1 is returned and errno is set appropriately.
*
*/
-int fwp_send(fwp_endpoint_d_t epointd,const void *msg, const size_t size)
+int fwp_send(fwp_endpoint_t *ep,const void *msg, const size_t size)
{
- fwp_endpoint_t *fwp_epoint = epointd;
struct fwp_msgb *msgb;
/* if (!fwp_endpoint_is_valid(epointd)){
return -1;
}
- /*msgb->peer = &fwp_epoint->peer;*/
+ /*msgb->peer = &ep->peer;*/
/*msgb->data = msg;*/
/*msgb->flags = epoint->flags;*/
/*}*/
/* TODO: test whether _fwp_vres_send is successful */
- return fwp_vres_send(fwp_epoint->vresd, msgb);
+ return fwp_vres_send(ep->vres, msgb);
}
struct fwp_endpoint;
typedef struct fwp_endpoint fwp_endpoint_t;
-/** fwp endpoint descriptor type */
-typedef struct fwp_endpoint* fwp_endpoint_d_t;
typedef unsigned int fwp_addr_t;
#include "fwp_vres.h"
-int fwp_endpoint_get_params(fwp_endpoint_d_t epointd, unsigned int *node,
+int fwp_endpoint_get_params(fwp_endpoint_t *ep, unsigned int *node,
unsigned int *port, fwp_endpoint_attr_t *attr);
int fwp_send_endpoint_create(unsigned int node, unsigned int port,
fwp_endpoint_attr_t *attr,
- fwp_endpoint_d_t *epointd);
+ fwp_endpoint_t **epoint);
int fwp_receive_endpoint_create(/*unsigned int node,*/ unsigned int port,
fwp_endpoint_attr_t *attr,
- fwp_endpoint_d_t *epointd);
-int fwp_endpoint_destroy(fwp_endpoint_d_t epointd);
+ fwp_endpoint_t **epoint);
+int fwp_endpoint_destroy(fwp_endpoint_t *ep);
-int fwp_send_endpoint_bind(fwp_endpoint_d_t epointd, fwp_vres_d_t vresd);
-int fwp_send_endpoint_unbind(fwp_endpoint_d_t epointd);
+int fwp_send_endpoint_bind(fwp_endpoint_t *ep, fwp_vres_t *vres);
+int fwp_send_endpoint_unbind(fwp_endpoint_t *ep);
-ssize_t fwp_recv(fwp_endpoint_d_t epointd,
+ssize_t fwp_recv(fwp_endpoint_t *ep,
void *buffer, const size_t buffer_size,
unsigned int *from, int flags);
-int fwp_send(fwp_endpoint_d_t epointd, const void *msg, const size_t size);
+int fwp_send(fwp_endpoint_t *ep, const void *msg, const size_t size);
int fwp_endpoint_attr_init(fwp_endpoint_attr_t *attr);
static inline int fwp_endpoint_attr_setreliability(fwp_endpoint_attr_t *attr,
return 0;
}
-fwp_vres_id_t fwp_vres_get_id(fwp_vres_d_t vresd)
+fwp_vres_id_t fwp_vres_get_id(fwp_vres_t *vres)
{
- fwp_vres_t *vres = vresd;
-
return (vres - fwp_vres_table.entry);
}
*
* \return On success returns vres descriptor.
*/
-fwp_vres_d_t fwp_vres_alloc()
+fwp_vres_t *fwp_vres_alloc()
{
int i;
unsigned int max_vres;
/**
* Set vres params
*
- * \param[in] vresdp Vres descriptor
+ * \param[in] vresp Vres descriptor
* \param[in] params Vres parameters
*
* \return On success returns zero.
* On error, negative error code is returned.
*
*/
-int fwp_vres_set_params(fwp_vres_d_t vresd, fwp_vres_params_t *params)
+int fwp_vres_set_params(fwp_vres_t *vres, fwp_vres_params_t *params)
{
- fwp_vres_t *vres = vresd;
-
if (!fwp_vres_is_valid(vres)) {
errno = EINVAL;
return -1;
* Creates new vres
*
* \param[in] params Vres parameters
- * \param[out] vresdp Pointer to the descriptor of newly created vres
+ * \param[out] vresp Pointer to the descriptor of newly created vres
*
* \return On success returns descriptor of vres.
* On error, negative error code is returned.
*
*/
-int fwp_vres_create(fwp_vres_params_t *params, fwp_vres_d_t *vresdp)
+int fwp_vres_create(fwp_vres_params_t *params, fwp_vres_t **vresp)
{
int rv;
fwp_vres_t *vres;
goto err;
}
- *vresdp = vres;
+ *vresp = vres;
return 0;
err:
fwp_vres_free(vres);
/**
* Destroys vres
*
- * \param[in] vresd Vres descriptor
+ * \param[in] vres Vres descriptor
*
* \return On success returns 0.
* On error, negative error code is returned.
*
*/
-int fwp_vres_destroy(fwp_vres_d_t vresd)
+int fwp_vres_destroy(fwp_vres_t *vres)
{
- fwp_vres_t *vres = vresd;
-
if (!fwp_vres_is_valid(vres)) {
errno = EINVAL;
return -1;
return NULL;
}
-int fwp_vres_send(fwp_vres_d_t vresd, struct fwp_msgb* msgb)
+int fwp_vres_send(fwp_vres_t *vres, struct fwp_msgb* msgb)
{
- fwp_vres_t *vres = vresd;
-
if (fwp_vres_is_valid(vres)) {
return fwp_msgq_enqueue(&vres->tx_queue, msgb);
} else {
}
}
-/*int fwp_vres_bind(fwp_vres_d_t vresd, fwp_endpoint_t *epoint)*/
-int fwp_vres_bind(fwp_vres_d_t vresd, int sockd)
+/*int fwp_vres_bind(fwp_vres_t *vres, fwp_endpoint_t *epoint)*/
+int fwp_vres_bind(fwp_vres_t *vres, int sockd)
{
- fwp_vres_t *vres = vresd;
int rv = 0;
pthread_mutex_lock(&fwp_vres_table.lock);
return rv;
}
-int fwp_vres_unbind(fwp_vres_d_t vresd)
+int fwp_vres_unbind(fwp_vres_t *vres)
{
- fwp_vres_t *vres = vresd;
-
- if (!fwp_vres_is_valid(vresd)) {
+ if (!fwp_vres_is_valid(vres)) {
errno = EINVAL;
return -1;
}
#include <netinet/in.h>
struct fwp_vres;
-typedef struct fwp_vres* fwp_vres_d_t;
+typedef struct fwp_vres fwp_vres_t;
/** WMM defines 4 queues */
typedef enum {
FWP_AC_BK = 3
} fwp_ac_t;
-fwp_ac_t fwp_vres_get_ac(fwp_vres_d_t vresd);
+fwp_ac_t fwp_vres_get_ac(fwp_vres_t *vres);
#ifdef _FWP_INTERNALS_
#include "fwp_msgb.h"
-typedef struct fwp_vres fwp_vres_t;
-
typedef unsigned int fwp_vres_id_t;
typedef unsigned int fwp_vparam_id_t;
typedef unsigned long int fwp_budget_t;
int fwp_vres_table_init(unsigned int max_vres);
-fwp_vres_d_t fwp_vres_alloc();
-fwp_vres_id_t fwp_vres_get_id(fwp_vres_d_t vresd);
-int fwp_vres_set_params(fwp_vres_d_t vresd, fwp_vres_params_t *params);
-int fwp_vres_create(fwp_vres_params_t *params, fwp_vres_d_t *vresdp);
-int fwp_vres_destroy(fwp_vres_d_t vresd);
+fwp_vres_t *fwp_vres_alloc();
+fwp_vres_id_t fwp_vres_get_id(fwp_vres_t *vres);
+int fwp_vres_set_params(fwp_vres_t *vres, fwp_vres_params_t *params);
+int fwp_vres_create(fwp_vres_params_t *params, fwp_vres_t **vresp);
+int fwp_vres_destroy(fwp_vres_t *vres);
-int fwp_vres_send(fwp_vres_d_t vresd, struct fwp_msgb* msgb);
-/*int _fwp_vres_bind(fwp_vres_d_t vresd, fwp_endpoint_d_t epointd);*/
-int fwp_vres_bind(fwp_vres_d_t vresd, int sockd);
-int fwp_vres_unbind(fwp_vres_d_t vresd);
+int fwp_vres_send(fwp_vres_t *vres, struct fwp_msgb* msgb);
+int fwp_vres_bind(fwp_vres_t *vres, int sockd);
+int fwp_vres_unbind(fwp_vres_t *vres);
extern fwp_vres_params_t fwp_vres_params_default;
{
// struct sockaddr_in local_addr, rem_addr, from;
ssize_t len;
- fwp_vres_d_t vres_d1, vres_d2;
+ fwp_vres_t *vres1, *vres2;
int i;
struct fwp_vres_params vparam1, vparam2;
char msg1[] = "Hello1";
char msg2[] = "Hello2";
char buffer[30];
- fwp_endpoint_d_t sepoint_d1, sepoint_d2, repoint_d1, repoint_d2;
+ fwp_endpoint_t *sepoint1, *sepoint2, *repoint1, *repoint2;
fwp_endpoint_attr_t attr;
fwp_addr_t from;
fwp_init();
printf("Create vres1, vres2\n");
- if (fwp_vres_create(&vparam1, &vres_d1) < 0) {
+ if (fwp_vres_create(&vparam1, &vres1) < 0) {
printf("Unable to create vres1\n");
return -1;
}
printf("Vres1 created \n");
- if (fwp_vres_create(&vparam2, &vres_d2) < 0){
+ if (fwp_vres_create(&vparam2, &vres2) < 0){
fprintf(stderr,"Unable to create vres2\n");
return -1;
}
printf("Vres2 created\n");
/* local_addr should be handled when creating socket */
- if (fwp_receive_endpoint_create(7777, &attr,&repoint_d1) < 0){
+ if (fwp_receive_endpoint_create(7777, &attr,&repoint1) < 0){
return -1;
}
printf("Receive endpoint created\n");
- if (fwp_receive_endpoint_create(7778, &attr,&repoint_d2) < 0){
+ if (fwp_receive_endpoint_create(7778, &attr,&repoint2) < 0){
return -1;
}
printf("Receive endpoint created\n");
if (fwp_send_endpoint_create(inet_addr("127.0.0.1"), 7777, 0,
- &sepoint_d1) < 0) {
+ &sepoint1) < 0) {
return -1;
}
printf("Send endpoint 1 created\n");
- fwp_send_endpoint_bind(sepoint_d1, vres_d1);
+ fwp_send_endpoint_bind(sepoint1, vres1);
if (fwp_send_endpoint_create(inet_addr("127.0.0.1"), 7778, 0,
- &sepoint_d2) < 0){
+ &sepoint2) < 0){
return -1;
}
printf("Send endpoint 2 created\n");
- fwp_send_endpoint_bind(sepoint_d2, vres_d2);
+ fwp_send_endpoint_bind(sepoint2, vres2);
- fwp_send(sepoint_d1, msg1, sizeof(msg1));
- fwp_send(sepoint_d1, msg2, sizeof(msg2));
+ fwp_send(sepoint1, msg1, sizeof(msg1));
+ fwp_send(sepoint1, msg2, sizeof(msg2));
for (i = 0; i < 2; i++) {
- if ((len = fwp_recv(repoint_d1, buffer, sizeof(buffer), &from,
+ if ((len = fwp_recv(repoint1, buffer, sizeof(buffer), &from,
0)) < 0) {
perror("Error while receiving data");
return -1;
else printf("Received - %s\n", buffer);
}
- if (fwp_vres_destroy(vres_d1) < 0) {
+ if (fwp_vres_destroy(vres1) < 0) {
perror("Unable to destroy vres1\n");
return -1;
}
printf("Vres1 destroyed\n");
- if (fwp_vres_destroy(vres_d2) < 0){
+ if (fwp_vres_destroy(vres2) < 0){
perror("Unable to destroy vres2\n");
return -1;
}
void* receiver(void* arg)
{
- fwp_endpoint_d_t repoint_d1;
+ fwp_endpoint_t *repoint1;
int i,len;
char buffer[30];
fwp_addr_t from;
printf("Creating receive endpoint\n");
- if (fwp_receive_endpoint_create(7777, &attr,&repoint_d1) < 0){
+ if (fwp_receive_endpoint_create(7777, &attr,&repoint1) < 0){
perror("Error while creating receive endpoint\n");
return NULL;
}
printf("Receive endpoint created \n");
for (i = 0; i < MSGN; i++) {
- if ((len = fwp_recv(repoint_d1, buffer, sizeof(buffer), &from,
+ if ((len = fwp_recv(repoint1, buffer, sizeof(buffer), &from,
0)) < 0) {
perror("Error while receiving data::");
return NULL;
int main()
{
- fwp_vres_d_t vres_d1;
+ fwp_vres_t *vres1;
struct fwp_vres_params vparam1, vparam2;
char msg1[] = "Hello1";
char msg2[] = "Hello2";
- fwp_endpoint_d_t sepoint_d1;
+ fwp_endpoint_t *sepoint1;
pthread_t thread;
vparam1.ac_id = FWP_AC_VO;
pthread_create(&thread, NULL, &receiver, (void*) NULL);
printf("Create vres1, vres2\n");
- if (fwp_vres_create(&vparam1, &vres_d1) < 0) {
+ if (fwp_vres_create(&vparam1, &vres1) < 0) {
printf("Unable to create vres1\n");
return -1;
}
printf("Vres1 created \n");
if (fwp_send_endpoint_create(inet_addr("127.0.0.1"), 7777, &attr,
- &sepoint_d1) < 0) {
+ &sepoint1) < 0) {
return -1;
}
printf("Send endpoint 1 created\n");
- fwp_send_endpoint_bind(sepoint_d1, vres_d1);
+ fwp_send_endpoint_bind(sepoint1, vres1);
- fwp_send(sepoint_d1, msg1, sizeof(msg1));
+ fwp_send(sepoint1, msg1, sizeof(msg1));
printf("Sent msg1\n");
- fwp_send(sepoint_d1, msg2, sizeof(msg2));
+ fwp_send(sepoint1, msg2, sizeof(msg2));
printf("Sent msg2\n");
pthread_join(thread, (void**) NULL);
- /*if (fwp_vres_destroy(vres_d1) < 0) {
+ /*if (fwp_vres_destroy(vres1) < 0) {
perror("Unable to destroy vres1\n");
return -1;
}
printf("Vres1 destroyed\n");
- if (fwp_vres_destroy(vres_d2) < 0){
+ if (fwp_vres_destroy(vres2) < 0){
perror("Unable to destroy vres2\n");
return -1;
}
{
// struct sockaddr_in local_addr, rem_addr, from;
ssize_t len;
- fwp_vres_d_t vresd1, vresd2;
+ fwp_vres_t *vres1, *vres2;
struct fwp_vres_params vparam1;
char msg1[15];
char buffer[30];
- fwp_endpoint_d_t sepoint_d1, repoint_d;
+ fwp_endpoint_t *sepoint, *repoint;
int count;
struct timespec sendtime;
fwp_endpoint_attr_t attr;
}
printf("Create vres1\n");
- if ((fwp_vres_create(&vparam1, &vresd1) < 0)) {
+ if ((fwp_vres_create(&vparam1, &vres1) < 0)) {
printf("Unable to create vres1\n");
return -1;
}
printf("Vres1 created\n");
printf("Create vres2\n");
- if ((fwp_vres_create(&vparam1, &vresd2) < 0)) {
+ if ((fwp_vres_create(&vparam1, &vres2) < 0)) {
printf("Unable to create vres2\n");
return -1;
}
printf("Vres2 created\n");
/* local_addr should be handled when creating socket */
- if (fwp_receive_endpoint_create(7777, &attr, &repoint_d) < 0) {
+ if (fwp_receive_endpoint_create(7777, &attr, &repoint) < 0) {
return -1;
}
printf("Receive endpoint created\n");
if (fwp_send_endpoint_create(inet_addr("127.0.0.1"), 7777, &attr,
- &sepoint_d1) < 0){
+ &sepoint) < 0){
return -1;
}
printf("Send endpoint 1 created\n");
- fwp_send_endpoint_bind(sepoint_d1, vresd1);
+ fwp_send_endpoint_bind(sepoint, vres1);
for (count = 0; count < NUM; count++) {
sprintf(msg1,"msg%d",count);
- fwp_send(sepoint_d1, msg1, sizeof(msg1));
+ fwp_send(sepoint, msg1, sizeof(msg1));
clock_gettime(CLOCK_MONOTONIC, &sendtime);
printf("Sent: sec = %ld nsec = %ld \n", sendtime.tv_sec,
sendtime.tv_nsec);
- if ((len = fwp_recv(repoint_d, buffer, sizeof(buffer), &from, 0)) < 0) {
+ if ((len = fwp_recv(repoint, buffer, sizeof(buffer), &from, 0)) < 0) {
perror("Error while receiving data");
return -1;
}
else printf("Received - %s\n", buffer);
}
- if (fwp_vres_destroy(vresd1) < 0) {
+ if (fwp_vres_destroy(vres1) < 0) {
perror("Unable to destroy vres1\n");
return -1;
}
void* sender()
{
- fwp_endpoint_d_t sepoint_d1;
- fwp_vres_d_t vres_d1;
+ fwp_endpoint_t *sepoint;
+ fwp_vres_t *vres;
struct fwp_vres_params vparam1;
char msg1[10];
int count;
vparam1.period.tv_nsec = 0;
printf("Create vres1\n");
- if (fwp_vres_create(&vparam1, &vres_d1) < 0) {
+ if (fwp_vres_create(&vparam1, &vres) < 0) {
printf("Unable to open vres1\n");
return NULL;
}
printf("Vres1 created\n");
if (fwp_send_endpoint_create(inet_addr("127.0.0.1"), PORT, &attr,
- &sepoint_d1) < 0){
+ &sepoint) < 0){
return NULL;
}
printf("Send endpoint 1 created\n");
- fwp_send_endpoint_bind(sepoint_d1, vres_d1);
+ fwp_send_endpoint_bind(sepoint, vres);
sleep(2);
//for (count = 0; count < NUM; count++) {
while (count < NUM){
count++;
sprintf(msg1,"msg%d sent\n",count);
- fwp_send(sepoint_d1, msg1, sizeof(msg1));
+ fwp_send(sepoint, msg1, sizeof(msg1));
printf(msg1);
/*clock_gettime(CLOCK_MONOTONIC, &sendtime);
sleep(1);
}
- if (fwp_vres_destroy(vres_d1) < 0) {
+ if (fwp_vres_destroy(vres) < 0) {
perror("Unable to destroy vres1\n");
return NULL;
}
{
ssize_t len;
char buffer[30];
- fwp_endpoint_d_t repoint_d;
+ fwp_endpoint_t *repoint;
int count;
struct timespec recvtime;
fwp_addr_t from;
/* local_addr should be handled when creating socket */
- if (fwp_receive_endpoint_create(PORT, &attr, &repoint_d) < 0){
+ if (fwp_receive_endpoint_create(PORT, &attr, &repoint) < 0){
perror("Not initialized\n");
return NULL;
}
for (count = 1; count <= NUM; count++) {
- if ((len = fwp_recv(repoint_d, buffer, sizeof(buffer), &from, 0)) < 0){
+ if ((len = fwp_recv(repoint, buffer, sizeof(buffer), &from, 0)) < 0){
perror("Error while receiving data");
return NULL;
}