source: flair-src/trunk/lib/FlairCore/src/SharedMem.cpp@ 348

Last change on this file since 348 was 203, checked in by Bayard Gildas, 7 years ago

Added timeout on SharedMem Read

File size: 1.2 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5// created: 2014/02/10
6// filename: SharedMem.cpp
7//
8// author: Guillaume Sanahuja
9// Copyright Heudiasyc UMR UTC/CNRS 7253
10//
11// version: $Id: $
12//
13// purpose: Class defining a shared memory
14//
15//
16/*********************************************************************/
17
18#include "SharedMem.h"
19#include "SharedMem_impl.h"
20
21using std::string;
22
23namespace flair {
24namespace core {
25
26SharedMem::SharedMem(const Object *parent, string name, size_t size, Type type)
27 : Object(parent, name, "shmem"), type(type) {
28 pimpl_ = new SharedMem_impl(this, name, size, type);
29}
30
31SharedMem::~SharedMem() { delete pimpl_; }
32
33void SharedMem::Write(const char *buf, size_t size) {
34 pimpl_->Write(buf, size);
35}
36
37bool SharedMem::Read(char *buf, size_t size, Time nsTimeout) const {
38 return pimpl_->Read(buf, size, nsTimeout);
39}
40
41void SharedMem::ReaderReady() {
42 if (type==Type::producerConsumer) pimpl_->ReaderReady();
43 else Warn("Function called for a non producerConsumer\n");
44}
45
46} // end namespace core
47} // end namespace flair
Note: See TracBrowser for help on using the repository browser.