#include <sys/time.h>
#include <frsh.h>
-#include <fwp_endpoint.h>
typedef struct {
int udp_fd;
static int
udp_socket_create(UDPContext *s, struct sockaddr_in *addr, int *addr_len)
{
- int ret,fd;
- unsigned int node, port;
- fwp_endpoint_attr_t attr;
+ int ret,udp_fd;
addr->sin_family = AF_INET;
addr->sin_addr.s_addr = htonl (INADDR_ANY);
*addr_len = sizeof(struct sockaddr_in);
/* set params for contract */
- frsh_network_bytes_to_budget(FRSH_NETPF_FWP, 30000, &s->budget);
- s->period = fosa_msec_to_rel_time(1000);
+ frsh_network_bytes_to_budget(FRSH_NETPF_FWP, 8600000, &s->budget);
+ s->period = fosa_msec_to_rel_time(100);
s->send_pinfo.body = NULL;
- if (frsh_send_endpoint_create(FRSH_NETPF_FWP,
+ udp_fd = frsh_send_endpoint_create(FRSH_NETPF_FWP,
s->dest_addr.sin_addr.s_addr,
ntohs(s->dest_addr.sin_port), s->send_pinfo,
- &s->sepoint) < 0) {
+ &s->sepoint);
+ if (udp_fd < 0) {
return -1;
}
//fwp_endpoint_get_params(s->sepoint->protocol_info.body, &node,
// &port, &attr, &fd);
- return 0;
+ return udp_fd;
}
static int udp_port(struct sockaddr_in *addr, int len)
* bind failed */
/*if (bind_ret < 0 && bind(udp_fd,(struct sockaddr *)&my_addr, len) < 0)
goto fail;*/
+#endif
len = sizeof(my_addr);
getsockname(udp_fd, (struct sockaddr *)&my_addr, &len);
/* make the socket non-blocking */
ff_socket_nonblock(udp_fd, 1);
}
-#endif
s->udp_fd = udp_fd;
return 0;
+
fail:
if (udp_fd >= 0)
closesocket(udp_fd);