Scheduler: Remove obsolete 'Scheduler' class
[senf.git] / Scheduler / WriteHelper.hh
index 862ef80..2280975 100644 (file)
@@ -28,7 +28,7 @@
 #include <string>
 #include <boost/intrusive_ptr.hpp>
 #include <boost/function.hpp>
-#include "Utils/intrusive_refcount.hh"
+#include "../Utils/intrusive_refcount.hh"
 #include "Scheduler.hh"
 
 //#include "WriteHelper.mpp"
@@ -38,8 +38,8 @@ namespace senf {
 
     /** \brief Asyncronous writing helper
 
-        This class provides a simple asyncronous writing facility. This helper will register with
-        the Scheduler to write the requested data. It will stay registered until the data has benen
+        This class provides a simple asynchronous writing facility. This helper will register with
+        the Scheduler to write the requested data. It will stay registered until the data has been
         completely sent or some error condition is encountered. As soon as the WriteHelper is done,
         the callback will be called.
 
@@ -65,7 +65,7 @@ namespace senf {
         ///\name Structors and default members
         ///@{
 
-        static ptr dispatch(Handle handle, std::string data, Callback callback);
+        static ptr dispatch(Handle handle, std::string const & data, Callback callback);
                                         ///< Register new WriteHelper instance
                                         /**< The registered callback will be called after all \a
                                              data has been sent or when some error condition is
@@ -73,7 +73,7 @@ namespace senf {
                                              \param[in] handle file descriptor or handle providing
                                                  the Handle interface defined above.
                                              \param[in] data data to send
-                                             \param[in] cb callback
+                                             \param[in] callback callback
                                              \returns smart pointer to new WriteHelper instance */
 
         ///@}
@@ -86,26 +86,28 @@ namespace senf {
                                              an empty string. Until then, the complete string will
                                              be returned. */
 
-        bool complete() const;          ///< Check wether the write has completed successfully
+        bool complete() const;          ///< Check whether the write has completed successfully
         bool error() const;             ///< Check for error condition
-        void throw_error() const;       ///< If an error occured, throw it
+        void throw_error() const;       ///< If an error occurred, throw it
 
         void revoke();                  ///< Remove the WriteHelper from the scheduler
 
     protected:
 
     private:
-        WriteHelper(Handle handle, std::string data, Callback callback);
+        WriteHelper(Handle handle, std::string const & data, Callback callback);
 
-        static void dispatchProcess(ptr helper, Handle handle, senf::Scheduler::EventId event);
-        void process(Handle handle, senf::Scheduler::EventId event);
+        static void dispatchProcess(ptr helper, Handle handle, 
+                                    senf::scheduler::FdEvent::Events event);
+        void process(Handle handle, senf::scheduler::FdEvent::Events event);
         void done();
 
         Handle handle_;
+        scheduler::FdEvent fde_;
         mutable std::string data_;
         Callback callback_;
 
-        mutable std::string::size_type offset_;
+        mutable std::string::iterator offset_;
         int errno_;
     };
 
@@ -126,4 +128,6 @@ namespace senf {
 // c-file-style: "senf"
 // indent-tabs-mode: nil
 // ispell-local-dictionary: "american"
+// compile-command: "scons -u test"
+// comment-column: 40
 // End: