make fastopen fall back to connect if len==0
This commit is contained in:
parent
3873bab74b
commit
1137831ddd
2
io.h
2
io.h
@ -177,7 +177,7 @@ enum {
|
|||||||
IOM_WRITE=2,
|
IOM_WRITE=2,
|
||||||
IOM_ERROR=4
|
IOM_ERROR=4
|
||||||
};
|
};
|
||||||
/* return -1 if error, or | of IOM_READ, IOM_WRITE or IOM_ERROR */
|
/* return -1 if error, events can be IOM_READ or IOM_WRITE */
|
||||||
int iom_add(iomux_t* c,int64 s,unsigned int events);
|
int iom_add(iomux_t* c,int64 s,unsigned int events);
|
||||||
|
|
||||||
/* Blocking wait for single event, timeout in milliseconds */
|
/* Blocking wait for single event, timeout in milliseconds */
|
||||||
|
@ -13,7 +13,11 @@ ssize_t socket_fastopen_connect4(int s,const char* ip,uint16 port,const char* bu
|
|||||||
int r;
|
int r;
|
||||||
{
|
{
|
||||||
#else
|
#else
|
||||||
int r=socket_send4_flag(s,buf,len,ip,port,MSG_FASTOPEN);
|
int r;
|
||||||
|
if (len)
|
||||||
|
r=socket_send4_flag(s,buf,len,ip,port,MSG_FASTOPEN);
|
||||||
|
else
|
||||||
|
r=socket_connect4(s,ip,port);
|
||||||
if (r==-1 && errno==ENOTCONN) {
|
if (r==-1 && errno==ENOTCONN) {
|
||||||
#endif
|
#endif
|
||||||
/* apparently the kernel does not support TCP fast open */
|
/* apparently the kernel does not support TCP fast open */
|
||||||
|
@ -13,7 +13,11 @@ ssize_t socket_fastopen_connect6(int s,const char* ip,uint16 port,uint32_t scope
|
|||||||
int r;
|
int r;
|
||||||
{
|
{
|
||||||
#else
|
#else
|
||||||
int r=socket_send6_flag(s,buf,len,ip,port,scope_id,MSG_FASTOPEN);
|
int r;
|
||||||
|
if (len)
|
||||||
|
r=socket_send6_flag(s,buf,len,ip,port,scope_id,MSG_FASTOPEN);
|
||||||
|
else
|
||||||
|
r=socket_connect6(s,ip,port,scope_id);
|
||||||
if (r==-1 && errno==ENOTCONN) {
|
if (r==-1 && errno==ENOTCONN) {
|
||||||
#endif
|
#endif
|
||||||
/* apparently the kernel does not support TCP fast open */
|
/* apparently the kernel does not support TCP fast open */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user