In general no. Each client is independent so you can have multiple
outstanding requests to different clients without a problem. For each
client the network stream should remain ordered so in theory the
responses for a particular client would be in order but it may be
possible that they get out of order.

I have imagined the usage scenario to be a background process in the
server slowly walking a list of cvars over and over for each client
(with some randomness to prevent clients from knowing when to revert a
cvar).

- Alfred

----Original Message----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Predatory
Kangaroo Sent: Thursday, August 11, 2005 8:54 PM To:
[email protected] Subject: Re: [hlds_apps] New engine
API for CVAR queries 

> Quick question about this call/callback:
> 
> Seeing as it's a callback without any context in the callback, can we
> be assured that the replies are going to arrive in the order they
> were requested?  
> 
> Regards,
> Predatory Kangaroo
> 
> On 8/12/05, Alfred Reynolds <[EMAIL PROTECTED]> wrote:
> > With the Half-Life 1: Engine release today we added a new API
> > function 
> > to allow a game server to query the value of clients CVAR settings.
> > 
> > There was a new function added to the end of enginefuncs_t:
> >         void (*pfnQueryClientCvarValue)( const edict_t *player,
> > const 
> > char *cvarName );
> > 
> > Calling this function requests the value of cvarName from player.
> > The result is returned via a callback from NEW_DLL_FUNCTIONS, here
> > is the complete NEW_DLL_FUNCTIONS definition:
> > 
> > typedef struct
> > {
> >         // Called right before the object's memory is freed.
> >         // Calls its destructor.
> >         void                    (*pfnOnFreeEntPrivateData)(edict_t
> >         *pEnt); void                    (*pfnGameShutdown)(void);
> >         int                     (*pfnShouldCollide)( edict_t
> > *pentTouched, edict_t *pentOther );
> >         void                    (*pfnCvarValue)( const edict_t
> > *pEnt, const char *value ); } NEW_DLL_FUNCTIONS;
> > 
> > When the client responds to the cvar request you will get a callback
> > to
> > pfnCvarValue() with the edict of the player who is responding and
> > the cvars values. 
> > 
> > This interface is implemented using a new server engine to client
> > engine network command (so there will be some delay from the request
> > to the response).  This new network protocol has NOT been versioned
> > (to minimise the impact of its release), if you wish to use it you
> > must make sure your users have an updated server before they try to
> > use it. 
> > 
> > - Alfred
> > 
> > 
> > _______________________________________________
> > hlds_apps mailing list
> > [email protected]
> > http://list.valvesoftware.com/mailman/listinfo/hlds_apps
> > 
> 
> _______________________________________________
> hlds_apps mailing list
> [email protected]
> http://list.valvesoftware.com/mailman/listinfo/hlds_apps

_______________________________________________
hlds_apps mailing list
[email protected]
http://list.valvesoftware.com/mailman/listinfo/hlds_apps

Reply via email to