diff --git a/src/common/data-writer.cc b/src/common/data-writer.cc deleted file mode 100644 index fc4d0b13f..000000000 --- a/src/common/data-writer.cc +++ /dev/null @@ -1,120 +0,0 @@ -/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ -/* - * Copyright (c) 2005 INRIA - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation; - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * Author: Mathieu Lacage - */ -#include "data-writer.h" - -#include -#include -#include -#include -#include -#include "ns3/assert.h" -#include -#include - -#define noTRACE_DATA_WRITER 1 - -#ifdef TRACE_DATA_WRITER -#include -# define TRACE(x) \ -std::cout << "DATA WRITER TRACE " << this << " " << x << std::endl; -#else /* TRACE_DATA_WRITER */ -# define TRACE(format,...) -#endif /* TRACE_DATA_WRITER */ - -#define BUFFER_SIZE (4096) - - -namespace ns3 { - -class DataWriterPrivate { -public: - DataWriterPrivate (); - ~DataWriterPrivate (); - - void open (char const *filename); - void write (uint8_t *buffer, uint32_t size); -private: - uint8_t m_data[BUFFER_SIZE]; - uint32_t m_current; - int m_fd; -}; - -DataWriterPrivate::DataWriterPrivate () - : m_current (0) -{} -DataWriterPrivate::~DataWriterPrivate () -{ - ::Write (m_fd, m_data, m_current); - ::Close (m_fd); -} - - -void -DataWriterPrivate::Open (char const *filename) -{ - m_fd = ::Open (filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); - NS_ASSERT (m_fd != -1); -} - -#ifndef min -#define min(a,b) ((a)<(b)?(a):(b)) -#endif /* min */ - -void -DataWriterPrivate::Write (uint8_t *buffer, uint32_t size) -{ - while (size > 0) - { - uint32_t toCopy = min (BUFFER_SIZE - m_current, size); - memcpy (m_data + m_current, buffer, toCopy); - size -= toCopy; - m_current += toCopy; - buffer += toCopy; - if (m_current == BUFFER_SIZE) - { - ssize_t written = 0; - written = ::Write (m_fd, m_data, BUFFER_SIZE); - NS_ASSERT (written == BUFFER_SIZE); - m_current = 0; - } - } -} - -DataWriter::DataWriter () - : m_priv (new DataWriterPrivate ()) -{} -DataWriter::~DataWriter () -{ - delete m_priv; - m_priv = 0; -} - -void -DataWriter::Open (char const *filename) -{ - m_priv->Open (filename); -} -void -DataWriter::Write (uint8_t *buffer, uint32_t size) -{ - m_priv->Write (buffer, size); -} - -}; // namespace diff --git a/src/common/data-writer.h b/src/common/data-writer.h deleted file mode 100644 index 28496c489..000000000 --- a/src/common/data-writer.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ -/* - * Copyright (c) 2005 INRIA - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation; - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - * Author: Mathieu Lacage - */ - -#ifndef DATA_WRITER_H -#define DATA_WRITER_H - -#include - -namespace ns3 { - -class DataWriterPrivate; - -class DataWriter { -public: - DataWriter (); - ~DataWriter (); - - void open (char const *filename); - void write (uint8_t *buffer, uint32_t size); -private: - DataWriterPrivate *m_priv; -}; - -}; //namespace ns3 - -#endif /* DATA_WRITER_H */