| // Copyright (c) 2012 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. | 
 |  | 
 | #include "quic/test_tools/mock_random.h" | 
 |  | 
 | #include <string.h> | 
 |  | 
 | namespace quic { | 
 | namespace test { | 
 |  | 
 | MockRandom::MockRandom() : base_(0xDEADBEEF), increment_(0) {} | 
 |  | 
 | MockRandom::MockRandom(uint32_t base) : base_(base), increment_(0) {} | 
 |  | 
 | void MockRandom::RandBytes(void* data, size_t len) { | 
 |   memset(data, increment_ + static_cast<uint8_t>('r'), len); | 
 | } | 
 |  | 
 | uint64_t MockRandom::RandUint64() { | 
 |   return base_ + increment_; | 
 | } | 
 |  | 
 | void MockRandom::InsecureRandBytes(void* data, size_t len) { | 
 |   RandBytes(data, len); | 
 | } | 
 |  | 
 | uint64_t MockRandom::InsecureRandUint64() { | 
 |   return RandUint64(); | 
 | } | 
 |  | 
 | void MockRandom::ChangeValue() { | 
 |   increment_++; | 
 | } | 
 |  | 
 | void MockRandom::ResetBase(uint32_t base) { | 
 |   base_ = base; | 
 |   increment_ = 0; | 
 | } | 
 |  | 
 | }  // namespace test | 
 | }  // namespace quic |