AddStreamWriterTask.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include "config.h"
00023
00024 #include "AddStreamWriterTask.hpp"
00025 #include "StreamHandler.hpp"
00026 #include "IOManager.hpp"
00027 #include <Time.hpp>
00028 #include <errno.h>
00029 #include <Exception.hpp>
00030
00031 using namespace mermaid::support::io;
00032 using mermaid::support::system::Time;
00033 using mermaid::support::errorhandling::Exception;
00034
00035 AddStreamWriterTask::~AddStreamWriterTask()
00036 {
00037
00038 }
00039
00040 AddStreamWriterTask::AddStreamWriterTask (IOThread* ioThread, shared_ptr<StreamWriter> streamWriter) : Task(), ioThread_ (ioThread), streamWriter_ (streamWriter)
00041 {
00042
00043 }
00044
00045 void AddStreamWriterTask::run()
00046 {
00047 StreamHandler* sh = ioThread_->streamHandler_.get();
00048 streamWriter_->open (sh, ioThread_->getProactor());
00049
00050
00051 ioThread_->streamHandler_->associateFileDescriptorWithStreamWriter (streamWriter_->getFileDescriptor(), streamWriter_);
00052 }
00053