mirror of
				https://github.com/libsdl-org/SDL.git
				synced 2025-10-26 12:27:44 +00:00 
			
		
		
		
	Added SDL_ReserveSpaceInDataQueue() to make space without copying data.
This commit is contained in:
		| @@ -33,6 +33,21 @@ int SDL_WriteToDataQueue(SDL_DataQueue *queue, const void *data, const size_t le | ||||
| size_t SDL_ReadFromDataQueue(SDL_DataQueue *queue, void *buf, const size_t len); | ||||
| size_t SDL_CountDataQueue(SDL_DataQueue *queue); | ||||
|  | ||||
| /* this sets a section of the data queue aside (possibly allocating memory for it) | ||||
|    as if it's been written to, but returns a pointer to that space. You may write | ||||
|    to this space until a read would consume it. Writes (and other calls to this | ||||
|    function) will safely append their data after this reserved space and can | ||||
|    be in flight at the same time. There is no thread safety. | ||||
|    If there isn't an existing block of memory that can contain the reserved | ||||
|    space, one will be allocated for it. You can not (currently) allocate | ||||
|    a space larger than the packetlen requested in SDL_NewDataQueue. | ||||
|    Returned buffer is uninitialized. | ||||
|    This lets you avoid an extra copy in some cases, but it's safer to use | ||||
|    SDL_WriteToDataQueue() unless you know what you're doing. | ||||
|    Returns pointer to buffer of at least (len) bytes, NULL on error. | ||||
| */ | ||||
| void *SDL_ReserveSpaceInDataQueue(SDL_DataQueue *queue, const size_t len); | ||||
|  | ||||
| #endif /* SDL_dataqueue_h_ */ | ||||
|  | ||||
| /* vi: set ts=4 sw=4 expandtab: */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Ryan C. Gordon
					Ryan C. Gordon