@@ -765,67 +765,6 @@ SRT_API SRTSOCKET srt_create_socket(void);
765
765
766
766
typedef struct SRT_SocketGroupData_ SRT_SOCKGROUPDATA;
767
767
768
-
#if ENABLE_BONDING
769
-
770
-
typedef enum SRT_GROUP_TYPE
771
-
{
772
-
SRT_GTYPE_UNDEFINED,
773
-
SRT_GTYPE_BROADCAST,
774
-
SRT_GTYPE_BACKUP,
775
-
// ...
776
-
SRT_GTYPE_E_END
777
-
} SRT_GROUP_TYPE;
778
-
779
-
// Free-form flags for groups
780
-
// Flags may be type-specific!
781
-
static const uint32_t SRT_GFLAG_SYNCONMSG = 1;
782
-
783
-
typedef enum SRT_MemberStatus
784
-
{
785
-
SRT_GST_PENDING, // The socket is created correctly, but not yet ready for getting data.
786
-
SRT_GST_IDLE, // The socket is ready to be activated
787
-
SRT_GST_RUNNING, // The socket was already activated and is in use
788
-
SRT_GST_BROKEN // The last operation broke the socket, it should be closed.
789
-
} SRT_MEMBERSTATUS;
790
-
791
-
struct SRT_SocketGroupData_
792
-
{
793
-
SRTSOCKET id;
794
-
struct sockaddr_storage peeraddr; // Don't want to expose sockaddr_any to public API
795
-
SRT_SOCKSTATUS sockstate;
796
-
uint16_t weight;
797
-
SRT_MEMBERSTATUS memberstate;
798
-
int result;
799
-
int token;
800
-
};
801
-
802
-
typedef struct SRT_SocketOptionObject SRT_SOCKOPT_CONFIG;
803
-
804
-
typedef struct SRT_GroupMemberConfig_
805
-
{
806
-
SRTSOCKET id;
807
-
struct sockaddr_storage srcaddr;
808
-
struct sockaddr_storage peeraddr; // Don't want to expose sockaddr_any to public API
809
-
uint16_t weight;
810
-
SRT_SOCKOPT_CONFIG* config;
811
-
int errorcode;
812
-
int token;
813
-
} SRT_SOCKGROUPCONFIG;
814
-
815
-
SRT_API SRTSOCKET srt_create_group (SRT_GROUP_TYPE);
816
-
SRT_API SRTSOCKET srt_groupof (SRTSOCKET socket);
817
-
SRT_API int srt_group_data (SRTSOCKET socketgroup, SRT_SOCKGROUPDATA* output, size_t* inoutlen);
818
-
SRT_API int srt_group_configure(SRTSOCKET socketgroup, const char* str);
819
-
820
-
SRT_API SRT_SOCKOPT_CONFIG* srt_create_config(void);
821
-
SRT_API void srt_delete_config(SRT_SOCKOPT_CONFIG* config /*nullable*/);
822
-
SRT_API int srt_config_add(SRT_SOCKOPT_CONFIG* config, SRT_SOCKOPT option, const void* contents, int len);
823
-
824
-
SRT_API SRT_SOCKGROUPCONFIG srt_prepare_endpoint(const struct sockaddr* src /*nullable*/, const struct sockaddr* adr, int namelen);
825
-
SRT_API int srt_connect_group(SRTSOCKET group, SRT_SOCKGROUPCONFIG name [], int arraysize);
826
-
827
-
#endif // ENABLE_BONDING
828
-
829
768
SRT_API int srt_bind (SRTSOCKET u, const struct sockaddr* name, int namelen);
830
769
SRT_API int srt_bind_acquire (SRTSOCKET u, UDPSOCKET sys_udp_sock);
831
770
// Old name of srt_bind_acquire(), please don't use
@@ -1007,4 +946,67 @@ SRT_API int srt_clock_type(void);
1007
946
}
1008
947
#endif
1009
948
949
+
// SRT Socket Groups API (ENABLE_BONDING)
950
+
951
+
#if ENABLE_BONDING
952
+
953
+
typedef enum SRT_GROUP_TYPE
954
+
{
955
+
SRT_GTYPE_UNDEFINED,
956
+
SRT_GTYPE_BROADCAST,
957
+
SRT_GTYPE_BACKUP,
958
+
// ...
959
+
SRT_GTYPE_E_END
960
+
} SRT_GROUP_TYPE;
961
+
962
+
// Free-form flags for groups
963
+
// Flags may be type-specific!
964
+
static const uint32_t SRT_GFLAG_SYNCONMSG = 1;
965
+
966
+
typedef enum SRT_MemberStatus
967
+
{
968
+
SRT_GST_PENDING, // The socket is created correctly, but not yet ready for getting data.
969
+
SRT_GST_IDLE, // The socket is ready to be activated
970
+
SRT_GST_RUNNING, // The socket was already activated and is in use
971
+
SRT_GST_BROKEN // The last operation broke the socket, it should be closed.
972
+
} SRT_MEMBERSTATUS;
973
+
974
+
struct SRT_SocketGroupData_
975
+
{
976
+
SRTSOCKET id;
977
+
struct sockaddr_storage peeraddr; // Don't want to expose sockaddr_any to public API
978
+
SRT_SOCKSTATUS sockstate;
979
+
uint16_t weight;
980
+
SRT_MEMBERSTATUS memberstate;
981
+
int result;
982
+
int token;
983
+
};
984
+
985
+
typedef struct SRT_SocketOptionObject SRT_SOCKOPT_CONFIG;
986
+
987
+
typedef struct SRT_GroupMemberConfig_
988
+
{
989
+
SRTSOCKET id;
990
+
struct sockaddr_storage srcaddr;
991
+
struct sockaddr_storage peeraddr; // Don't want to expose sockaddr_any to public API
992
+
uint16_t weight;
993
+
SRT_SOCKOPT_CONFIG* config;
994
+
int errorcode;
995
+
int token;
996
+
} SRT_SOCKGROUPCONFIG;
997
+
998
+
SRT_API SRTSOCKET srt_create_group(SRT_GROUP_TYPE);
999
+
SRT_API SRTSOCKET srt_groupof(SRTSOCKET socket);
1000
+
SRT_API int srt_group_data(SRTSOCKET socketgroup, SRT_SOCKGROUPDATA* output, size_t* inoutlen);
1001
+
SRT_API int srt_group_configure(SRTSOCKET socketgroup, const char* str);
1002
+
1003
+
SRT_API SRT_SOCKOPT_CONFIG* srt_create_config(void);
1004
+
SRT_API void srt_delete_config(SRT_SOCKOPT_CONFIG* config /*nullable*/);
1005
+
SRT_API int srt_config_add(SRT_SOCKOPT_CONFIG* config, SRT_SOCKOPT option, const void* contents, int len);
1006
+
1007
+
SRT_API SRT_SOCKGROUPCONFIG srt_prepare_endpoint(const struct sockaddr* src /*nullable*/, const struct sockaddr* adr, int namelen);
1008
+
SRT_API int srt_connect_group(SRTSOCKET group, SRT_SOCKGROUPCONFIG name[], int arraysize);
1009
+
1010
+
#endif // ENABLE_BONDING
1011
+
1010
1012
#endif
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4