summaryrefslogtreecommitdiffstats
path: root/net/curvecp
diff options
context:
space:
mode:
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-09 05:11:41 +0000
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-09 05:11:41 +0000
commitd67d10528eb68753d19db1698b3688fa48fa44b3 (patch)
tree3797e452b5c689ff8da97dc9a73b775c610b07ea /net/curvecp
parent785db4fe43f9b4b3ce1231dec4d723e379ed992b (diff)
downloadchromium_src-d67d10528eb68753d19db1698b3688fa48fa44b3.zip
chromium_src-d67d10528eb68753d19db1698b3688fa48fa44b3.tar.gz
chromium_src-d67d10528eb68753d19db1698b3688fa48fa44b3.tar.bz2
Collect stats to investigate the viability of UDP
connectivity from the browser (first cut). Collect stats for TCP connectivity also. - What percentage of users can get a message end-to-end to an TCP and UDP server. - What is the latency for TCP and UDP messages. Added TCP and UDP echo servers to testserver.py for unittests. BUG=82565 TEST=udp tests Review URL: http://codereview.chromium.org/7056031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88495 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/curvecp')
-rw-r--r--net/curvecp/test_client.h2
-rw-r--r--net/curvecp/test_data_stream.h88
-rw-r--r--net/curvecp/test_server.h2
3 files changed, 2 insertions, 90 deletions
diff --git a/net/curvecp/test_client.h b/net/curvecp/test_client.h
index 08f496f..e992ce8 100644
--- a/net/curvecp/test_client.h
+++ b/net/curvecp/test_client.h
@@ -10,7 +10,7 @@
#include "net/base/completion_callback.h"
#include "net/base/host_port_pair.h"
#include "net/base/io_buffer.h"
-#include "net/curvecp/test_data_stream.h"
+#include "net/base/test_data_stream.h"
namespace net {
diff --git a/net/curvecp/test_data_stream.h b/net/curvecp/test_data_stream.h
deleted file mode 100644
index d2bbc87..0000000
--- a/net/curvecp/test_data_stream.h
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright (c) 2011 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 NET_CURVECP_TEST_DATA_STREAM_H_
-#define NET_CURVECP_TEST_DATA_STREAM_H_
-#pragma once
-
-#include <string.h> // for memcpy()
-#include <algorithm>
-
-// This is a test class for generating an infinite stream of data which can
-// be verified independently to be the correct stream of data.
-
-namespace net {
-
-class TestDataStream {
- public:
- TestDataStream() {
- Reset();
- }
-
- // Fill |buffer| with |length| bytes of data from the stream.
- void GetBytes(char* buffer, int length) {
- while (length) {
- AdvanceIndex();
- int bytes_to_copy = std::min(length, bytes_remaining_);
- memcpy(buffer, buffer_ptr_, bytes_to_copy);
- buffer += bytes_to_copy;
- Consume(bytes_to_copy);
- length -= bytes_to_copy;
- }
- }
-
- // Verify that |buffer| contains the expected next |length| bytes from the
- // stream. Returns true if correct, false otherwise.
- bool VerifyBytes(const char *buffer, int length) {
- while (length) {
- AdvanceIndex();
- int bytes_to_compare = std::min(length, bytes_remaining_);
- if (memcmp(buffer, buffer_ptr_, bytes_to_compare))
- return false;
- Consume(bytes_to_compare);
- length -= bytes_to_compare;
- buffer += bytes_to_compare;
- }
- return true;
- }
-
- void Reset() {
- index_ = 0;
- bytes_remaining_ = 0;
- buffer_ptr_ = buffer_;
- }
-
- private:
- // If there is no data spilled over from the previous index, advance the
- // index and fill the buffer.
- void AdvanceIndex() {
- if (bytes_remaining_ == 0) {
- // Convert it to ascii, but don't bother to reverse it.
- // (e.g. 12345 becomes "54321")
- int val = index_++;
- do {
- buffer_[bytes_remaining_++] = (val % 10) + '0';
- } while ((val /= 10) > 0);
- buffer_[bytes_remaining_++] = '.';
- }
- }
-
- // Consume data from the spill buffer.
- void Consume(int bytes) {
- bytes_remaining_ -= bytes;
- if (bytes_remaining_)
- buffer_ptr_ += bytes;
- else
- buffer_ptr_ = buffer_;
- }
-
- int index_;
- int bytes_remaining_;
- char buffer_[16];
- char* buffer_ptr_;
-};
-
-} // namespace net
-
-#endif // NET_CURVECP_TEST_DATA_STREAM_H_
diff --git a/net/curvecp/test_server.h b/net/curvecp/test_server.h
index 22c44e4..a941401 100644
--- a/net/curvecp/test_server.h
+++ b/net/curvecp/test_server.h
@@ -8,8 +8,8 @@
#include "base/task.h"
#include "net/base/completion_callback.h"
+#include "net/base/test_data_stream.h"
#include "net/curvecp/curvecp_server_socket.h"
-#include "net/curvecp/test_data_stream.h"
namespace net {