summaryrefslogtreecommitdiff
path: root/media/cast/test/transport/transport.h
diff options
context:
space:
mode:
Diffstat (limited to 'media/cast/test/transport/transport.h')
-rw-r--r--media/cast/test/transport/transport.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/media/cast/test/transport/transport.h b/media/cast/test/transport/transport.h
new file mode 100644
index 0000000000..288fa13bd3
--- /dev/null
+++ b/media/cast/test/transport/transport.h
@@ -0,0 +1,57 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef MEDIA_CAST_TEST_TRANSPORT_TRANSPORT_H_
+#define MEDIA_CAST_TEST_TRANSPORT_TRANSPORT_H_
+
+#include "base/memory/scoped_ptr.h"
+#include "media/cast/cast_config.h"
+#include "media/cast/cast_environment.h"
+#include "net/udp/udp_server_socket.h"
+#include "net/udp/udp_socket.h"
+
+
+namespace media {
+namespace cast {
+namespace test {
+
+class LocalUdpTransportData;
+class LocalPacketSender;
+
+// Helper class for Cast test applications.
+class Transport {
+ public:
+ Transport(scoped_refptr<base::TaskRunner> io_thread_proxy);
+ ~Transport();
+
+ // Specifies the ports and IP address to receive packets on.
+ // Will start listening immediately.
+ void SetLocalReceiver(PacketReceiver* packet_receiver,
+ std::string ip_address,
+ std::string local_ip_address,
+ int port);
+
+ // Specifies the destination port and IP address.
+ void SetSendDestination(std::string ip_address, int port);
+
+ PacketSender* packet_sender();
+
+ void SetSendSidePacketLoss(int percentage);
+
+ void StopReceiving();
+
+ private:
+ scoped_ptr<net::DatagramServerSocket> udp_socket_;
+ scoped_refptr<LocalPacketSender> packet_sender_;
+ scoped_refptr<LocalUdpTransportData> local_udp_transport_data_;
+ scoped_refptr<base::TaskRunner> io_thread_proxy_;
+
+ DISALLOW_COPY_AND_ASSIGN(Transport);
+};
+
+} // namespace test
+} // namespace cast
+} // namespace media
+
+#endif // MEDIA_CAST_TEST_TRANSPORT_TRANSPORT_H_