mirror of
https://github.com/cloudwu/skynet.git
synced 2026-07-22 02:53:09 +00:00
avoid warnings
This commit is contained in:
@@ -67,11 +67,12 @@ struct write_buffer {
|
||||
char *ptr;
|
||||
size_t sz;
|
||||
bool userobject;
|
||||
uint8_t udp_address[UDP_ADDRESS_SIZE];
|
||||
};
|
||||
|
||||
#define SIZEOF_TCPBUFFER (offsetof(struct write_buffer, udp_address[0]))
|
||||
#define SIZEOF_UDPBUFFER (sizeof(struct write_buffer))
|
||||
struct write_buffer_udp {
|
||||
struct write_buffer buffer;
|
||||
uint8_t udp_address[UDP_ADDRESS_SIZE];
|
||||
};
|
||||
|
||||
struct wb_list {
|
||||
struct write_buffer * head;
|
||||
@@ -777,8 +778,9 @@ static int
|
||||
send_list_udp(struct socket_server *ss, struct socket *s, struct wb_list *list, struct socket_message *result) {
|
||||
while (list->head) {
|
||||
struct write_buffer * tmp = list->head;
|
||||
struct write_buffer_udp * udp = (struct write_buffer_udp *)tmp;
|
||||
union sockaddr_all sa;
|
||||
socklen_t sasz = udp_socket_address(s, tmp->udp_address, &sa);
|
||||
socklen_t sasz = udp_socket_address(s, udp->udp_address, &sa);
|
||||
if (sasz == 0) {
|
||||
skynet_error(NULL, "socket-server : udp (%d) type mismatch.", s->id);
|
||||
drop_udp(ss, s, list, tmp);
|
||||
@@ -920,7 +922,7 @@ send_buffer(struct socket_server *ss, struct socket *s, struct socket_lock *l, s
|
||||
return -1; // blocked by direct write, send later.
|
||||
if (s->dw_buffer) {
|
||||
// add direct write buffer before high.head
|
||||
struct write_buffer * buf = MALLOC(SIZEOF_TCPBUFFER);
|
||||
struct write_buffer * buf = MALLOC(sizeof(*buf));
|
||||
struct send_object so;
|
||||
buf->userobject = send_object_init(ss, &so, (void *)s->dw_buffer, s->dw_size);
|
||||
buf->ptr = (char*)so.buffer+s->dw_offset;
|
||||
@@ -965,20 +967,20 @@ append_sendbuffer_(struct socket_server *ss, struct wb_list *s, struct request_s
|
||||
static inline void
|
||||
append_sendbuffer_udp(struct socket_server *ss, struct socket *s, int priority, struct request_send * request, const uint8_t udp_address[UDP_ADDRESS_SIZE]) {
|
||||
struct wb_list *wl = (priority == PRIORITY_HIGH) ? &s->high : &s->low;
|
||||
struct write_buffer *buf = append_sendbuffer_(ss, wl, request, SIZEOF_UDPBUFFER);
|
||||
struct write_buffer_udp *buf = (struct write_buffer_udp *)append_sendbuffer_(ss, wl, request, sizeof(*buf));
|
||||
memcpy(buf->udp_address, udp_address, UDP_ADDRESS_SIZE);
|
||||
s->wb_size += buf->sz;
|
||||
s->wb_size += buf->buffer.sz;
|
||||
}
|
||||
|
||||
static inline void
|
||||
append_sendbuffer(struct socket_server *ss, struct socket *s, struct request_send * request) {
|
||||
struct write_buffer *buf = append_sendbuffer_(ss, &s->high, request, SIZEOF_TCPBUFFER);
|
||||
struct write_buffer *buf = append_sendbuffer_(ss, &s->high, request, sizeof(*buf));
|
||||
s->wb_size += buf->sz;
|
||||
}
|
||||
|
||||
static inline void
|
||||
append_sendbuffer_low(struct socket_server *ss,struct socket *s, struct request_send * request) {
|
||||
struct write_buffer *buf = append_sendbuffer_(ss, &s->low, request, SIZEOF_TCPBUFFER);
|
||||
struct write_buffer *buf = append_sendbuffer_(ss, &s->low, request, sizeof(*buf));
|
||||
s->wb_size += buf->sz;
|
||||
}
|
||||
|
||||
@@ -1749,8 +1751,9 @@ static void
|
||||
send_request(struct socket_server *ss, struct request_package *request, char type, int len) {
|
||||
request->header[6] = (uint8_t)type;
|
||||
request->header[7] = (uint8_t)len;
|
||||
const char * req = (const char *)request + offsetof(struct request_package, header[6]);
|
||||
for (;;) {
|
||||
ssize_t n = write(ss->sendctrl_fd, &request->header[6], len+2);
|
||||
ssize_t n = write(ss->sendctrl_fd, req, len+2);
|
||||
if (n<0) {
|
||||
if (errno != EINTR) {
|
||||
skynet_error(NULL, "socket-server : send ctrl command error %s.", strerror(errno));
|
||||
|
||||
Reference in New Issue
Block a user