[ ]
Real time embedded FreeRTOS mailing list 
Homepage FreeRTOS Labs FreeRTOS+TCP FreeRTOS+FAT Contact / Enquiries


FreeRTOS+TCP V2 is now included in the main FreeRTOS kernel download under the MIT license.

FreeRTOS_CreateSocketSet()

[FreeRTOS+TCP API Reference]

FreeRTOS_sockets.h
SocketSet_t FreeRTOS_CreateSocketSet()( unsigned BaseType_t uxEventQueueLength );
		

Create a socket set for use with the FreeRTOS_select() function. ipconfigSUPPORT_SELECT_FUNCTION must be set to 1 in FreeRTOSIPConfig.h for FreeRTOS_CreateSocketSet() to be available.


Socket Sets allow an application RTOS task to block on multiple sockets simultaneously.

To use a socket set:

  1. Create a socket set by calling FreeRTOS_CreateSocketSet(). A socket set is equivalent to the Berkeley sockets fd_set type.

  2. Add one or more sockets to the set using calls to FreeRTOS_FD_SET(). FreeRTOS_FD_SET() is equivalent to the Berkeley sockets FD_SET() macro.

  3. Call FreeRTOS_Select() to test the sockets in the set to see if any of the sockets have an event pending.

  4. If FreeRTOS_select() returns a non-zero value then check all sockets in the set using a call to FreeRTOS_FD_ISSET() to determine which events are pending.

The FreeRTOS_FD_CLR() API function is used to remove a socket from a socket set.

Parameters:

uxEventQueueLength   A receive event is generated each time a socket in the socket set receives data. uxEventQueueLength sets the maximum number of receive events that can be stored by the socket set at any one time.

If a packet is received by a socket that is a member of a socket set, and the socket set's event queue is full, then the packet will be dropped.

Returns:

If the socket set was created then a handle to the created socket set is returned. If the socket set was not created (because there was insufficient FreeRTOS heap memory available) then NULL is returned.

Example usage:

See the example on the FreeRTOS_select() documentation page.


[ Back to the top ]    [ About FreeRTOS ]    [ FreeRTOS Labs Sitemap ]    [ Main FreeRTOS Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.