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);
|
||||
void appserver_delete(AppServer * appserver);
|
||||
|
||||
/* accessors */
|
||||
void * appserver_get_client_id(AppServer * appserver);
|
||||
|
||||
/* useful */
|
||||
int appserver_loop(AppServer * appserver);
|
||||
|
||||
|
|
|
@ -134,6 +134,7 @@ struct _AppServer
|
|||
SSL_CTX * ssl_ctx;
|
||||
#endif
|
||||
AppServerClientArray * clients;
|
||||
AppServerClient * current;
|
||||
};
|
||||
|
||||
|
||||
|
@ -260,10 +261,11 @@ static int _appserver_receive(AppServer * appserver, AppServerClient * asc)
|
|||
ssize_t i;
|
||||
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,
|
||||
sizeof(asc->buf_write), &asc->buf_write_cnt)) == -1)
|
||||
return -1;
|
||||
sizeof(asc->buf_write), &asc->buf_write_cnt);
|
||||
appserver->current = NULL;
|
||||
if(i <= 0 || (size_t)i > asc->buf_read_cnt)
|
||||
return -1;
|
||||
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;
|
||||
}
|
||||
#endif
|
||||
appserver->current = NULL;
|
||||
return appserver;
|
||||
}
|
||||
|
||||
|
@ -429,6 +432,13 @@ void appserver_delete(AppServer * appserver)
|
|||
}
|
||||
|
||||
|
||||
/* accessors */
|
||||
void * appserver_get_client_id(AppServer * appserver)
|
||||
{
|
||||
return appserver->current;
|
||||
}
|
||||
|
||||
|
||||
/* useful */
|
||||
int appserver_loop(AppServer * appserver)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue
Block a user