1// Copyright 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "nacl_io/pipe/pipe_event_emitter.h" 6 7#include <algorithm> 8 9namespace nacl_io { 10 11PipeEventEmitter::PipeEventEmitter(size_t size) 12 : fifo_(std::max<size_t>(1, size)) { 13 UpdateStatus_Locked(); 14} 15 16Error PipeEventEmitter::Read_Locked(char* data, size_t len, int* out_bytes) { 17 *out_bytes = fifo_.Read(data, len); 18 19 UpdateStatus_Locked(); 20 return 0; 21} 22 23Error PipeEventEmitter::Write_Locked(const char* data, 24 size_t len, 25 int* out_bytes) { 26 *out_bytes = fifo_.Write(data, len); 27 28 UpdateStatus_Locked(); 29 return 0; 30} 31 32} // namespace nacl_io 33