blob: 4e329de93f09e105e0914cd3c2cd7f11ece957ff [file] [log] [blame]
pbos@webrtc.org4988d942013-05-29 11:34:321/*
2 * Copyright (c) 2013 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
Peter Boströme8f07352015-12-09 11:13:3011#ifndef WEBRTC_TRANSPORT_H_
12#define WEBRTC_TRANSPORT_H_
pbos@webrtc.org4988d942013-05-29 11:34:3213
14#include <stddef.h>
15
pbos@webrtc.org2f02da82013-07-09 08:02:3316#include "webrtc/typedefs.h"
17
pbos@webrtc.org4988d942013-05-29 11:34:3218namespace webrtc {
pbos@webrtc.org4988d942013-05-29 11:34:3219
stefan15b20992015-10-15 14:26:0720// TODO(holmer): Look into unifying this with the PacketOptions in
21// asyncpacketsocket.h.
stefaneb16b932015-10-02 10:39:3322struct PacketOptions {
23 // A 16 bits positive id. Negative ids are invalid and should be interpreted
24 // as packet_id not being set.
25 int packet_id = -1;
26};
27
pbos@webrtc.org4988d942013-05-29 11:34:3228class Transport {
29 public:
stefaneb16b932015-10-02 10:39:3330 virtual bool SendRtp(const uint8_t* packet,
31 size_t length,
32 const PacketOptions& options) = 0;
pbos@webrtc.org3009c812013-11-20 12:17:0433 virtual bool SendRtcp(const uint8_t* packet, size_t length) = 0;
pbos@webrtc.org4988d942013-05-29 11:34:3234
35 protected:
36 virtual ~Transport() {}
37};
pbosd5bdda32015-09-28 16:59:3138
pbos@webrtc.org4988d942013-05-29 11:34:3239} // namespace webrtc
40
Peter Boströme8f07352015-12-09 11:13:3041#endif // WEBRTC_TRANSPORT_H_