/* static */ int ProcXagCreate ( register ClientPtr client) { REQUEST (xXagCreateReq); AppGroupPtr pAppGrp; int ret; REQUEST_AT_LEAST_SIZE (xXagCreateReq); LEGAL_NEW_RESOURCE (stuff->app_group, client); pAppGrp = CreateAppGroup (client, stuff->app_group, stuff->attrib_mask, (CARD32*) &stuff[1]); if (!pAppGrp) return BadAlloc; ret = AttrValidate (client, stuff->attrib_mask, pAppGrp); if (ret != Success) { XagAppGroupFree ((pointer)pAppGrp, (XID)0); return ret; } if (pAppGrp->single_screen) { CreateConnectionInfo (pAppGrp); if (!pAppGrp->ConnectionInfo) return BadAlloc; } if (!AddResource (stuff->app_group, RT_APPGROUP, (pointer)pAppGrp)) return BadAlloc; if (XagCallbackRefCount++ == 0) (void) AddCallback (&ClientStateCallback, XagClientStateChange, NULL); return client->noClientException; }
fpos_t UDPClient::ConnectToServer() { ///auto connectionInfo = new char[BUFFER_SIZE]; auto infoSize = CreateConnectionInfo(buffer, BUFFER_SIZE); while(true) { try { SendRawDataTo(this->_udp_socket, buffer, infoSize, serverAddressInfo); auto fileSize = ReceiveFileSize(); return fileSize; } catch(ServerError e) { throw; }catch(runtime_error e) { cout << e.what() << endl; Sleep(1000); } } }