Make more use of convenience methods
FossilOrigin-Name: 89fbd7a1520ecb65809b4c1bd10006ce9bb3a662cb7e7804abaf85d1ee1da63a
This commit is contained in:
parent
4bdb80410d
commit
34b31eb77f
44 changed files with 320 additions and 188 deletions
44
src/ResolverThread.mm
Normal file
44
src/ResolverThread.mm
Normal file
|
@ -0,0 +1,44 @@
|
|||
#import "ResolverThread.h"
|
||||
|
||||
#import "ResolverResult.h"
|
||||
|
||||
extern SDL_sem *resolversem;
|
||||
extern OFMutableArray<OFString *> *resolverqueries;
|
||||
extern OFMutableArray<ResolverResult *> *resolverresults;
|
||||
|
||||
@implementation ResolverThread
|
||||
- (id)main
|
||||
{
|
||||
while (!_stop) {
|
||||
SDL_SemWait(resolversem);
|
||||
|
||||
@synchronized(ResolverThread.class) {
|
||||
if (resolverqueries.count == 0)
|
||||
continue;
|
||||
|
||||
_query = resolverqueries.lastObject;
|
||||
[resolverqueries removeLastObject];
|
||||
_starttime = lastmillis;
|
||||
}
|
||||
|
||||
ENetAddress address = { ENET_HOST_ANY, CUBE_SERVINFO_PORT };
|
||||
enet_address_set_host(&address, _query.UTF8String);
|
||||
|
||||
@synchronized(ResolverThread.class) {
|
||||
[resolverresults
|
||||
addObject:[ResolverResult resultWithQuery:_query
|
||||
address:address]];
|
||||
|
||||
_query = NULL;
|
||||
_starttime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void)stop
|
||||
{
|
||||
_stop = true;
|
||||
}
|
||||
@end
|
Loading…
Add table
Add a link
Reference in a new issue