ソースを参照

Make Socket class use current descriptor for write method

Patrick-Christopher Mattulat 2 年 前
コミット
1e7232b238

+ 4 - 4
include/ls_std/network/socket/Socket.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2022-11-16
- * Changed:         2022-12-27
+ * Changed:         2022-12-28
  *
  * */
 
@@ -33,8 +33,8 @@ namespace ls::std::network
 
       // implementation
 
-      [[nodiscard]] ls::std::core::type::byte_field read() override; // TODO: set write descriptor
-      [[nodiscard]] bool write(const ls::std::core::type::byte_field &_data) override; // TODO: set write descriptor
+      [[nodiscard]] ls::std::core::type::byte_field read() override;
+      [[nodiscard]] bool write(const ls::std::core::type::byte_field &_data) override;
 
       // other functionalities
 
@@ -90,7 +90,7 @@ namespace ls::std::network
       #endif
       bool _write(const ls::std::core::type::byte_field &_data);
       #if LS_STD_UNIX_PLATFORM
-      bool _writeUnix(const ls::std::core::type::byte_field &_data);
+      bool _writeUnix(const int& _descriptor, const ls::std::core::type::byte_field &_data);
       #endif
   };
 }

+ 4 - 4
source/ls_std/network/socket/Socket.cpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2022-11-16
- * Changed:         2022-12-27
+ * Changed:         2022-12-28
  *
  * */
 
@@ -302,12 +302,12 @@ void ls::std::network::Socket::_setPosixWriterApi()
 bool ls::std::network::Socket::_write(const ls::std::core::type::byte_field &_data)
 {
   #if LS_STD_UNIX_PLATFORM
-  return this->_writeUnix(_data);
+  return this->_writeUnix(this->unixDescriptors.at(this->currentAcceptedConnection), _data);
   #endif
 }
 
 #if LS_STD_UNIX_PLATFORM
-bool ls::std::network::Socket::_writeUnix(const ls::std::core::type::byte_field &_data)
+bool ls::std::network::Socket::_writeUnix(const int& _descriptor, const ls::std::core::type::byte_field &_data)
 {
   bool written{};
 
@@ -317,7 +317,7 @@ bool ls::std::network::Socket::_writeUnix(const ls::std::core::type::byte_field
     char* buffer = new char[size];
     ::std::strcpy(buffer, _data.c_str());
 
-    written = this->parameter.posixWriter->write(this->unixDescriptors.at(1), buffer, size) != -1;
+    written = this->parameter.posixWriter->write(_descriptor, buffer, size) != -1;
 
     delete[] buffer;
   }