50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
* @return The data to repeat the send with or nil if it should not repeat
*/
typedef OFData *_Nullable (^OFDatagramSocketAsyncSendDataBlock)(
id _Nullable exception);
#endif
/**
* @protocol OFDatagramSocketDelegate OFDatagramSocket.h \
* ObjFW/OFDatagramSocket.h
*
* @brief A delegate for OFDatagramSocket.
*/
@protocol OFDatagramSocketDelegate <OFObject>
@optional
/**
* @brief This method is called when a packet has been received.
|
|
<
|
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
* @return The data to repeat the send with or nil if it should not repeat
*/
typedef OFData *_Nullable (^OFDatagramSocketAsyncSendDataBlock)(
id _Nullable exception);
#endif
/**
* @protocol OFDatagramSocketDelegate OFDatagramSocket.h ObjFW/ObjFW.h
*
* @brief A delegate for OFDatagramSocket.
*/
@protocol OFDatagramSocketDelegate <OFObject>
@optional
/**
* @brief This method is called when a packet has been received.
|
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
- (nullable OFData *)socket: (OFDatagramSocket *)socket
didSendData: (OFData *)data
receiver: (const OFSocketAddress *_Nonnull)receiver
exception: (nullable id)exception;
@end
/**
* @class OFDatagramSocket OFDatagramSocket.h ObjFW/OFDatagramSocket.h
*
* @brief A base class for datagram sockets.
*
* @warning Even though the OFCopying protocol is implemented, it does *not*
* return an independent copy of the socket, but instead retains it.
* This is so that the socket can be used as a key for a dictionary,
* so context can be associated with a socket. Using a socket in more
|
|
|
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
- (nullable OFData *)socket: (OFDatagramSocket *)socket
didSendData: (OFData *)data
receiver: (const OFSocketAddress *_Nonnull)receiver
exception: (nullable id)exception;
@end
/**
* @class OFDatagramSocket OFDatagramSocket.h ObjFW/ObjFW.h
*
* @brief A base class for datagram sockets.
*
* @warning Even though the OFCopying protocol is implemented, it does *not*
* return an independent copy of the socket, but instead retains it.
* This is so that the socket can be used as a key for a dictionary,
* so context can be associated with a socket. Using a socket in more
|