Added a way to determine which client is calling
This commit is contained in:
parent
2560d7179f
commit
a0cfa48890
|
@ -37,6 +37,9 @@ AppServer * appserver_new(char const * app, int options);
|
||||||
AppServer * appserver_new_event(char const * app, int options, Event * event);
|
AppServer * appserver_new_event(char const * app, int options, Event * event);
|
||||||
void appserver_delete(AppServer * appserver);
|
void appserver_delete(AppServer * appserver);
|
||||||
|
|
||||||
|
/* accessors */
|
||||||
|
void * appserver_get_client_id(AppServer * appserver);
|
||||||
|
|
||||||
/* useful */
|
/* useful */
|
||||||
int appserver_loop(AppServer * appserver);
|
int appserver_loop(AppServer * appserver);
|
||||||
|
|
||||||
|
|
|
@ -134,6 +134,7 @@ struct _AppServer
|
||||||
SSL_CTX * ssl_ctx;
|
SSL_CTX * ssl_ctx;
|
||||||
#endif
|
#endif
|
||||||
AppServerClientArray * clients;
|
AppServerClientArray * clients;
|
||||||
|
AppServerClient * current;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -260,10 +261,11 @@ static int _appserver_receive(AppServer * appserver, AppServerClient * asc)
|
||||||
ssize_t i;
|
ssize_t i;
|
||||||
int32_t ret;
|
int32_t ret;
|
||||||
|
|
||||||
if((i = appinterface_receive(appserver->interface, &ret, asc->buf_read,
|
appserver->current = asc;
|
||||||
|
i = appinterface_receive(appserver->interface, &ret, asc->buf_read,
|
||||||
asc->buf_read_cnt, asc->buf_write,
|
asc->buf_read_cnt, asc->buf_write,
|
||||||
sizeof(asc->buf_write), &asc->buf_write_cnt)) == -1)
|
sizeof(asc->buf_write), &asc->buf_write_cnt);
|
||||||
return -1;
|
appserver->current = NULL;
|
||||||
if(i <= 0 || (size_t)i > asc->buf_read_cnt)
|
if(i <= 0 || (size_t)i > asc->buf_read_cnt)
|
||||||
return -1;
|
return -1;
|
||||||
memmove(asc->buf_read, &asc->buf_read[i], asc->buf_read_cnt-i);
|
memmove(asc->buf_read, &asc->buf_read[i], asc->buf_read_cnt-i);
|
||||||
|
@ -386,6 +388,7 @@ AppServer * appserver_new_event(char const * app, int options, Event * event)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
appserver->current = NULL;
|
||||||
return appserver;
|
return appserver;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -429,6 +432,13 @@ void appserver_delete(AppServer * appserver)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* accessors */
|
||||||
|
void * appserver_get_client_id(AppServer * appserver)
|
||||||
|
{
|
||||||
|
return appserver->current;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* useful */
|
/* useful */
|
||||||
int appserver_loop(AppServer * appserver)
|
int appserver_loop(AppServer * appserver)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user