@class NSArray, _IDSDatagramChannel, NSObject, IDSDataChannelLinkContext; @protocol OS_dispatch_source; @interface IDSDatagramChannel : NSObject { _IDSDatagramChannel *_internal; NSObject<OS_dispatch_source> *_statsTimer; } @property (readonly) NSArray *connectedLinks; @property (readonly) IDSDataChannelLinkContext *defaultLink; - (void)close; - (void)setEventHandler:(id /* block */)a0; - (void)dealloc; - (void)start; - (void)invalidate; - (id)cachedMetadata; - (id)description; - (id)getQueue; - (void).cxx_destruct; - (void)setReadHandler:(id /* block */)a0; - (void)startInternal; - (struct { char *x0; unsigned long long x1; long long x2; long long x3; unsigned int x4; BOOL x5; BOOL x6; BOOL x7; BOOL x8; BOOL x9; BOOL x10; BOOL x11; BOOL x12; BOOL x13; BOOL x14; BOOL x15; unsigned int x16; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x17; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x18; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x19; unsigned short x20; unsigned char x21; int x22; struct { char *x0; unsigned short x1; int x2; unsigned short x3[12]; unsigned long long x4; unsigned char x5; unsigned short x6; unsigned char x7; BOOL x8; BOOL x9; unsigned short x10; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x11; BOOL x12; BOOL x13; int x14; unsigned short x15[4]; unsigned char x16; BOOL x17; BOOL x18; BOOL x19; unsigned int x20; } x23[8]; char x24; char x25; int x26; double x27; unsigned char x28[16]; unsigned long long x29; unsigned long long x30; id x31; int x32; unsigned int x33; unsigned short x34; unsigned char x35[0]; } *)_setWiFiAssist:(BOOL)a0; - (void)setHasMetadata:(BOOL)a0; - (void)_dumpLinkContextConnectionsInfo; - (void)_stopStatsTimer; - (id)getDispatchDataForPacketBuffer:(struct { char *x0; unsigned long long x1; long long x2; long long x3; unsigned int x4; BOOL x5; BOOL x6; BOOL x7; BOOL x8; BOOL x9; BOOL x10; BOOL x11; BOOL x12; BOOL x13; BOOL x14; BOOL x15; unsigned int x16; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x17; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x18; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x19; unsigned short x20; unsigned char x21; int x22; struct { char *x0; unsigned short x1; int x2; unsigned short x3[12]; unsigned long long x4; unsigned char x5; unsigned short x6; unsigned char x7; BOOL x8; BOOL x9; unsigned short x10; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x11; BOOL x12; BOOL x13; int x14; unsigned short x15[4]; unsigned char x16; BOOL x17; BOOL x18; BOOL x19; unsigned int x20; } x23[8]; char x24; char x25; int x26; double x27; unsigned char x28[16]; unsigned long long x29; unsigned long long x30; id x31; int x32; unsigned int x33; unsigned short x34; unsigned char x35[0]; } *)a0; - (void)readFromSocketDescriptorWithReadHandler:(id /* block */)a0 readHandlerWithOptions:(id /* block */)a1; - (void)sendMediaMembershipChangedInfo:(unsigned char)a0; - (void)_addConnections:(id)a0 toLinkContext:(id)a1; - (void)_buildPacketBufferMetaData:(struct { char *x0; unsigned long long x1; long long x2; long long x3; unsigned int x4; BOOL x5; BOOL x6; BOOL x7; BOOL x8; BOOL x9; BOOL x10; BOOL x11; BOOL x12; BOOL x13; BOOL x14; BOOL x15; unsigned int x16; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x17; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x18; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x19; unsigned short x20; unsigned char x21; int x22; struct { char *x0; unsigned short x1; int x2; unsigned short x3[12]; unsigned long long x4; unsigned char x5; unsigned short x6; unsigned char x7; BOOL x8; BOOL x9; unsigned short x10; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x11; BOOL x12; BOOL x13; int x14; unsigned short x15[4]; unsigned char x16; BOOL x17; BOOL x18; BOOL x19; unsigned int x20; } x23[8]; char x24; char x25; int x26; double x27; unsigned char x28[16]; unsigned long long x29; unsigned long long x30; id x31; int x32; unsigned int x33; unsigned short x34; unsigned char x35[0]; } *)a0; - (id)_connectionInfoForDictionary:(id)a0; - (id)_createIfNecessaryDirectConnectionForLinkID:(char)a0 linkContext:(id)a1 connection:(id)a2; - (void)_didReceivePacketOfSize:(unsigned long long)a0 linkType:(char)a1 linkContext:(id)a2 connectionInfo:(id)a3; - (id)_directConnectionsForLinkID:(char)a0; - (id)_directOrDaemonConnectionForLinkID:(char)a0; - (id)_extractparticipantIDToHashedIDMappingFromData:(id)a0; - (id)_linkContextWithID:(unsigned char)a0; - (id)_linkContextsCopy; - (void)_logReceivingStats:(unsigned long long)a0; - (void)_logSendingStats:(unsigned long long)a0; - (struct { char *x0; unsigned long long x1; long long x2; long long x3; unsigned int x4; BOOL x5; BOOL x6; BOOL x7; BOOL x8; BOOL x9; BOOL x10; BOOL x11; BOOL x12; BOOL x13; BOOL x14; BOOL x15; unsigned int x16; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x17; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x18; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x19; unsigned short x20; unsigned char x21; int x22; struct { char *x0; unsigned short x1; int x2; unsigned short x3[12]; unsigned long long x4; unsigned char x5; unsigned short x6; unsigned char x7; BOOL x8; BOOL x9; unsigned short x10; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x11; BOOL x12; BOOL x13; int x14; unsigned short x15[4]; unsigned char x16; BOOL x17; BOOL x18; BOOL x19; unsigned int x20; } x23[8]; char x24; char x25; int x26; double x27; unsigned char x28[16]; unsigned long long x29; unsigned long long x30; id x31; int x32; unsigned int x33; unsigned short x34; unsigned char x35[0]; } *)_makeDirectPacketBufferFromDatagram:(const void *)a0 datagramSize:(unsigned int)a1 currentDatagramCount:(unsigned char)a2 totalDatagramCount:(unsigned char)a3 datagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; })a4 datagramOptions:(struct { unsigned int x0; unsigned long long x1; unsigned short x2; unsigned char x3; char x4; unsigned short x5[12]; unsigned char x6; unsigned short x7; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x8; double x9; unsigned long long x10; BOOL x11; unsigned long long x12; unsigned char x13[16]; BOOL x14; BOOL x15; } *)a5 linkContext:(id)a6; - (struct { char *x0; unsigned long long x1; long long x2; long long x3; unsigned int x4; BOOL x5; BOOL x6; BOOL x7; BOOL x8; BOOL x9; BOOL x10; BOOL x11; BOOL x12; BOOL x13; BOOL x14; BOOL x15; unsigned int x16; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x17; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x18; struct sockaddr_storage { unsigned char x0; unsigned char x1; char x2[6]; long long x3; char x4[112]; } x19; unsigned short x20; unsigned char x21; int x22; struct { char *x0; unsigned short x1; int x2; unsigned short x3[12]; unsigned long long x4; unsigned char x5; unsigned short x6; unsigned char x7; BOOL x8; BOOL x9; unsigned short x10; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x11; BOOL x12; BOOL x13; int x14; unsigned short x15[4]; unsigned char x16; BOOL x17; BOOL x18; BOOL x19; unsigned int x20; } x23[8]; char x24; char x25; int x26; double x27; unsigned char x28[16]; unsigned long long x29; unsigned long long x30; id x31; int x32; unsigned int x33; unsigned short x34; unsigned char x35[0]; } *)_makePacketBufferFromDatagram:(const void *)a0 datagramSize:(unsigned int)a1 currentDatagramCount:(unsigned char)a2 totalDatagramCount:(unsigned char)a3 datagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; })a4 datagramOptions:(struct { unsigned int x0; unsigned long long x1; unsigned short x2; unsigned char x3; char x4; unsigned short x5[12]; unsigned char x6; unsigned short x7; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x8; double x9; unsigned long long x10; BOOL x11; unsigned long long x12; unsigned char x13[16]; BOOL x14; BOOL x15; } *)a5; - (void)_processIncomingDatagram:(const char *)a0 datagramSize:(unsigned int)a1 linkID:(char)a2 DSCP:(unsigned char)a3 linkContext:(id)a4 connectionInfo:(id)a5; - (void)_processIncomingDatagram:(const char *)a0 datagramSize:(unsigned int)a1 linkID:(char)a2 linkContext:(id)a3; - (void)_readFromDirectConnection:(id)a0 linkID:(char)a1 linkContext:(id)a2 connectionInfo:(id)a3; - (void)_removeDirectConnection:(id)a0; - (void)_removeLinkContextWithID:(unsigned char)a0; - (void)_reportDictionary:(id)a0 forKey:(unsigned char)a1; - (void)_reportFirstIncomingPacketTimeForMKI:(id)a0 time:(id)a1; - (void)_reportFirstOutgoingPacketTimeForMKI:(id)a0 time:(id)a1; - (void)_reportMKIArrival:(id)a0 time:(id)a1 isLocallyGenerated:(BOOL)a2; - (void)_sendSequenceNumberMetadataToDaemon:(unsigned long long)a0; - (void)_sendStatsRequestViaDaemon; - (void)_setDirectConnections:(id)a0 forLinkID:(char)a1; - (void)_setLinkContext:(id)a0 forLinkID:(unsigned char)a1; - (void)_startStatsTimer; - (unsigned long long)_translateParticipantID:(unsigned long long)a0 forLinkID:(char)a1; - (id)_underlyingLinkContextForLinkID:(char)a0; - (void)_writeDatagram:(const void *)a0 datagramSize:(unsigned int)a1 datagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; })a2 options:(struct { unsigned int x0; unsigned long long x1; unsigned short x2; unsigned char x3; char x4; unsigned short x5[12]; unsigned char x6; unsigned short x7; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x8; double x9; unsigned long long x10; BOOL x11; unsigned long long x12; unsigned char x13[16]; BOOL x14; BOOL x15; } *)a3 completionHandler:(id /* block */)a4; - (void)_writeToDirectConnection:(id)a0 datagram:(const void *)a1 datagramSize:(unsigned int)a2 currentDatagramCount:(unsigned char)a3 totalDatagramCount:(unsigned char)a4 datagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; })a5 datagramOptions:(struct { unsigned int x0; unsigned long long x1; unsigned short x2; unsigned char x3; char x4; unsigned short x5[12]; unsigned char x6; unsigned short x7; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x8; double x9; unsigned long long x10; BOOL x11; unsigned long long x12; unsigned char x13[16]; BOOL x14; BOOL x15; } *)a6 completionHandler:(id /* block */)a7; - (void)_writeToNWConnection:(id)a0 datagram:(const void *)a1 datagramSize:(unsigned int)a2 currentDatagramCount:(unsigned char)a3 totalDatagramCount:(unsigned char)a4 datagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; })a5 datagramOptions:(struct { unsigned int x0; unsigned long long x1; unsigned short x2; unsigned char x3; char x4; unsigned short x5[12]; unsigned char x6; unsigned short x7; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x8; double x9; unsigned long long x10; BOOL x11; unsigned long long x12; unsigned char x13[16]; BOOL x14; BOOL x15; } *)a6 completionHandler:(id /* block */)a7; - (void)_writeToNWConnectionArrayOfDatagrams:(const void **)a0 datagramSizes:(unsigned int *)a1 datagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; } *)a2 datagramOptions:(struct **)a3 datagramCount:(int)a4 completionHandler:(id /* block */)a5; - (void)_writeToOSChannelDatagrams:(const void **)a0 datagramSizes:(unsigned int *)a1 datagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; } *)a2 datagramOptions:(struct **)a3 datagramCount:(int)a4 completionHandler:(id /* block */)a5; - (void)_writeToSocket:(int)a0 datagrams:(const void **)a1 datagramSizes:(unsigned int *)a2 datagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; } *)a3 datagramOptions:(struct **)a4 datagramCount:(int)a5 completionHandler:(id /* block */)a6; - (void)addDirectConnectionForLinkID:(char)a0 linkContext:(id)a1; - (void)addNewIDSDataChannelLinkWithAttributes:(char *)a0 linkAttributesLength:(unsigned short)a1; - (id)connectionForLinkID:(char)a0; - (id)createIfNecessaryDirectConnectionForLinkID:(char)a0 linkContext:(id)a1; - (void)flushLinkProbingStatusWithOptions:(id)a0; - (void)generateMetadataWithDatagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; })a0 options:(struct { unsigned int x0; unsigned long long x1; unsigned short x2; unsigned char x3; char x4; unsigned short x5[12]; unsigned char x6; unsigned short x7; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x8; double x9; unsigned long long x10; BOOL x11; unsigned long long x12; unsigned char x13[16]; BOOL x14; BOOL x15; } *)a1 currentDatagramCount:(unsigned char)a2 totalDatagramCount:(unsigned char)a3 byteBuffer:(struct { char *x0; char *x1; char *x2; char *x3; BOOL x4; } *)a4; - (id)getContext; - (id)getIDSDataChannelsQueue; - (id)getNwProtocolMetaDataForTrafficClass:(unsigned short)a0; - (void)handleIncomingDatagram:(const char *)a0 datagramSize:(unsigned int)a1 datagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; })a2 datagramOptions:(struct { unsigned int x0; unsigned long long x1; unsigned short x2; unsigned char x3; char x4; unsigned short x5[12]; unsigned char x6; unsigned short x7; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x8; double x9; unsigned long long x10; BOOL x11; unsigned long long x12; unsigned char x13[16]; BOOL x14; BOOL x15; } *)a3; - (id)initWithDestination:(id)a0 options:(id)a1; - (id)initWithSocketDescriptor:(int)a0; - (void)invalidateDirectConnections; - (BOOL)isDaemonConnection:(id)a0; - (void)osChannelInfoLog; - (BOOL)processDatagram:(const char *)a0 datagramSize:(unsigned long long)a1 readHandler:(id /* block */)a2 readHandlerWithOptions:(id /* block */)a3; - (void)processMetadataForDatagram:(const char *)a0 size:(unsigned long long)a1 datagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; } *)a2 options:(struct { unsigned int x0; unsigned long long x1; unsigned short x2; unsigned char x3; char x4; unsigned short x5[12]; unsigned char x6; unsigned short x7; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x8; double x9; unsigned long long x10; BOOL x11; unsigned long long x12; unsigned char x13[16]; BOOL x14; BOOL x15; } *)a3; - (void)queryStatusWithOptions:(id)a0; - (void)readDatagramWithCompletionHandler:(id /* block */)a0; - (void)readDatagramsWithCompletionHandler:(id /* block */)a0; - (void)readFromNWConnection:(id)a0 maximumDatagrams:(unsigned int)a1 readHandler:(id /* block */)a2 readHandlerWithOptions:(id /* block */)a3; - (void)readFromOSChannel:(struct channel { } *)a0 ring:(struct channel_ring_desc { } *)a1 maximumDatagrams:(unsigned int)a2 readHandler:(id /* block */)a3 readHandlerWithOptions:(id /* block */)a4; - (void)readyToRead; - (void)removeDirectConnectionsForLinkID:(char)a0; - (void)removeIDSDataChannelLinkContext:(char)a0 linkUUID:(id)a1 reason:(unsigned char)a2; - (void)reportEvent:(id)a0 forLinkID:(unsigned char)a1; - (void)reportFirstIncomingPacketTimeForMKI:(id)a0; - (void)reportFirstOutgoingPacketTimeForMKI:(id)a0; - (void)reportMKIArrival:(id)a0 isLocallyGenerated:(BOOL)a1; - (void)requestSessionInfoWithOptions:(id)a0; - (void)requestStatsWithOptions:(id)a0; - (void)scheduleRead; - (void)selectDefaultLink:(char)a0; - (void)sendEventConnectedWithDummyLinkInfo; - (void)sendMediaEncryptionInfoWithMKM:(id)a0 MKS:(id)a1 MKI:(id)a2 participantID:(unsigned long long)a3 isLocallyGenerated:(BOOL)a4 encryptionSequenceNumber:(unsigned long long)a5; - (void)sendMetadata; - (void)setChannelPreferences:(id)a0; - (void)setLinkIDToParticipantMap:(id)a0; - (void)setPreferredDataPathType:(long long)a0; - (void)setReadHandlerWithOptions:(id /* block */)a0; - (void)setUPlusOneMode:(BOOL)a0 isInitiator:(BOOL)a1; - (void)setWiFiAssist:(BOOL)a0; - (void)setWriteCompletionHandler:(id /* block */)a0; - (void)startActiveProbingWithOptions:(id)a0; - (void)startMKMRecoveryForParticipantIDs:(id)a0; - (void)stopActiveProbingWithOptions:(id)a0; - (int)underlyingFileDescriptor; - (void)writeArrayOfDatagrams:(const void **)a0 datagramSizes:(unsigned int *)a1 datagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; } *)a2 datagramOptions:(struct **)a3 datagramCount:(int)a4 completionHandler:(id /* block */)a5; - (void)writeDatagram:(const void *)a0 datagramSize:(unsigned int)a1 datagramInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; })a2 options:(struct { unsigned int x0; unsigned long long x1; unsigned short x2; unsigned char x3; char x4; unsigned short x5[12]; unsigned char x6; unsigned short x7; struct { unsigned short x0; unsigned short x1; unsigned short x2; unsigned short x3; unsigned short x4; } x8; double x9; unsigned long long x10; BOOL x11; unsigned long long x12; unsigned char x13[16]; BOOL x14; BOOL x15; } *)a3 completionHandler:(id /* block */)a4; - (void)writeDatagram:(const void *)a0 datagramSize:(unsigned int)a1 flags:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; })a2 completionHandler:(id /* block */)a3; - (void)writeDatagrams:(const void **)a0 datagramsSize:(unsigned int *)a1 datagramsInfo:(struct { char x0; unsigned short x1; unsigned char x2; unsigned short x3; unsigned char x4; } *)a2 datagramsCount:(int)a3 options:(struct **)a4 completionHandler:(id /* block */)a5; @end