mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-22 16:18:28 -05:00
getClientPeerId() refactored into two functions.
This commit is contained in:
parent
e4c019e7a8
commit
d0001fe810
@ -1126,6 +1126,17 @@ void getClientsMaxBuffers(unsigned long *longest_output_list,
|
|||||||
*biggest_input_buffer = bib;
|
*biggest_input_buffer = bib;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* This is an helper function for getClientPeerId().
|
||||||
|
* It writes the specified ip/port to "peerid" as a null termiated string
|
||||||
|
* in the form ip:port if ip does not contain ":" itself, otherwise
|
||||||
|
* [ip]:port format is used (for IPv6 addresses basically). */
|
||||||
|
void formatPeerId(char *peerid, size_t peerid_len, char *ip, int port) {
|
||||||
|
if (strchr(ip,':'))
|
||||||
|
snprintf(peerid,peerid_len,"[%s]:%d",ip,port);
|
||||||
|
else
|
||||||
|
snprintf(peerid,peerid_len,"%s:%d",ip,port);
|
||||||
|
}
|
||||||
|
|
||||||
/* A Redis "Peer ID" is a colon separated ip:port pair.
|
/* A Redis "Peer ID" is a colon separated ip:port pair.
|
||||||
* For IPv4 it's in the form x.y.z.k:pork, example: "127.0.0.1:1234".
|
* For IPv4 it's in the form x.y.z.k:pork, example: "127.0.0.1:1234".
|
||||||
* For IPv6 addresses we use [] around the IP part, like in "[::1]:1234".
|
* For IPv6 addresses we use [] around the IP part, like in "[::1]:1234".
|
||||||
@ -1150,10 +1161,7 @@ int getClientPeerId(redisClient *client, char *peerid, size_t peerid_len) {
|
|||||||
} else {
|
} else {
|
||||||
/* TCP client. */
|
/* TCP client. */
|
||||||
int retval = anetPeerToString(client->fd,ip,sizeof(ip),&port);
|
int retval = anetPeerToString(client->fd,ip,sizeof(ip),&port);
|
||||||
if (strchr(ip,':'))
|
formatPeerId(peerid,peerid_len,ip,port);
|
||||||
snprintf(peerid,peerid_len,"[%s]:%d",ip,port);
|
|
||||||
else
|
|
||||||
snprintf(peerid,peerid_len,"%s:%d",ip,port);
|
|
||||||
return (retval == -1) ? REDIS_ERR : REDIS_OK;
|
return (retval == -1) ? REDIS_ERR : REDIS_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1073,6 +1073,7 @@ void copyClientOutputBuffer(redisClient *dst, redisClient *src);
|
|||||||
void *dupClientReplyValue(void *o);
|
void *dupClientReplyValue(void *o);
|
||||||
void getClientsMaxBuffers(unsigned long *longest_output_list,
|
void getClientsMaxBuffers(unsigned long *longest_output_list,
|
||||||
unsigned long *biggest_input_buffer);
|
unsigned long *biggest_input_buffer);
|
||||||
|
void formatPeerId(char *peerid, size_t peerid_len, char *ip, int port);
|
||||||
int getClientPeerId(redisClient *client, char *peerid, size_t peerid_len);
|
int getClientPeerId(redisClient *client, char *peerid, size_t peerid_len);
|
||||||
sds getClientInfoString(redisClient *client);
|
sds getClientInfoString(redisClient *client);
|
||||||
sds getAllClientsInfoString(void);
|
sds getAllClientsInfoString(void);
|
||||||
|
Loading…
Reference in New Issue
Block a user