Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: webrtc/api/objc/RTCDataChannel.h

Issue 1545393003: Update API for Objective-C RTCDataChannel. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Changes from feedback Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/api/api.gyp ('k') | webrtc/api/objc/RTCDataChannel.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 * Copyright 2015 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #import <Foundation/Foundation.h>
12
13 NS_ASSUME_NONNULL_BEGIN
14
15 @interface RTCDataBuffer : NSObject
16
17 /** NSData representation of the underlying buffer. */
18 @property(nonatomic, readonly) NSData *data;
19
20 /** Indicates whether |data| contains UTF-8 or binary data. */
21 @property(nonatomic, readonly) BOOL isBinary;
22
23 - (instancetype)init NS_UNAVAILABLE;
24
25 /**
26 * Initialize an RTCDataBuffer from NSData. |isBinary| indicates whether |data|
27 * contains UTF-8 or binary data.
28 */
29 - (instancetype)initWithData:(NSData *)data isBinary:(BOOL)isBinary;
30
31 @end
32
33
34 @class RTCDataChannel;
35
36 @protocol RTCDataChannelDelegate <NSObject>
37
38 /** The data channel state changed. */
39 - (void)dataChannelDidChangeState:(RTCDataChannel *)dataChannel;
40
41 /** The data channel successfully received a data buffer. */
42 - (void)dataChannel:(RTCDataChannel *)dataChannel
43 didReceiveMessageWithBuffer:(RTCDataBuffer *)buffer;
44
45 @optional
46
47 /** The data channel's |bufferedAmount| changed. */
48 - (void)dataChannel:(RTCDataChannel *)dataChannel
49 didChangeBufferedAmount:(NSUInteger)amount;
50
51 @end
52
53
54 /** Represents the state of the data channel. */
55 typedef NS_ENUM(NSInteger, RTCDataChannelState) {
56 RTCDataChannelStateConnecting,
57 RTCDataChannelStateOpen,
58 RTCDataChannelStateClosing,
59 RTCDataChannelStateClosed,
60 };
61
62 @interface RTCDataChannel : NSObject
63
64 /**
65 * A label that can be used to distinguish this data channel from other data
66 * channel objects.
67 */
68 @property(nonatomic, readonly) NSString *label;
69
70 /** Returns whether this data channel is ordered or not. */
71 @property(nonatomic, readonly) BOOL isOrdered;
72
73 /**
74 * The length of the time window (in milliseconds) during which transmissions
75 * and retransmissions may occur in unreliable mode.
76 */
77 @property(nonatomic, readonly) uint16_t maxPacketLifeTime;
78
79 /**
80 * The maximum number of retransmissions that are attempted in unreliable mode.
81 */
82 @property(nonatomic, readonly) uint16_t maxRetransmits;
83
84 /**
85 * The name of the sub-protocol used with this data channel, if any. Otherwise
86 * this returns an empty string.
87 */
88 @property(nonatomic, readonly) NSString *protocol;
89
90 /**
91 * Returns whether this data channel was negotiated by the application or not.
92 */
93 @property(nonatomic, readonly) BOOL isNegotiated;
94
95 /** The identifier for this data channel. */
96 @property(nonatomic, readonly) int id;
97
98 /** The state of the data channel. */
99 @property(nonatomic, readonly) RTCDataChannelState readyState;
100
101 /**
102 * The number of bytes of application data that have been queued using
103 * |sendData:| but that have not yet been transmitted to the network.
104 */
105 @property(nonatomic, readonly) uint64_t bufferedAmount;
106
107 /** The delegate for this data channel. */
108 @property(nonatomic, weak) id<RTCDataChannelDelegate> delegate;
109
110 - (instancetype)init NS_UNAVAILABLE;
111
112 /** Closes the data channel. */
113 - (void)close;
114
115 /** Attempt to send |data| on this data channel's underlying data transport. */
116 - (BOOL)sendData:(RTCDataBuffer *)data;
117
118 @end
119
120 NS_ASSUME_NONNULL_END
OLDNEW
« no previous file with comments | « webrtc/api/api.gyp ('k') | webrtc/api/objc/RTCDataChannel.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698