9#include "../../delegate.h"
10#include "../../event.h"
11#include "../../event_args.h"
75 const std::vector<byte_t>&
buffer() const noexcept;
80 std::vector<byte_t>&
buffer() noexcept;
84 void set_buffer(const std::vector<byte_t>& memory_buffer);
121 xtd::net::sockets::
socket accept_socket_;
122 std::vector<byte_t> buffer_;
123 std::vector<std::vector<byte_t>> buffer_list_;
124 size_t bytes_transferred_ = 0;
126 xtd::net::sockets::
socket connect_socket_;
128 bool disconnect_reuse_socket_ = false;
130 std::vector<byte_t> memory_buffer_;
136 size_t send_packets_send_size_ = 0;
139 std::
any user_token_;
Represents the base class for classes that contain event data, and provides a value to use for events...
Definition: event_args.h:18
Represents an event.
Definition: event.h:21
Identifies a network address. This is an abstract class.
Definition: end_point.h:24
Represents an element in a xtd::net::sockets::send_packets_element array.
Definition: send_packets_element.h:33
Represents an asynchronous socket operation.
Definition: socket_async_event_args.h:46
virtual void on_complete(const socket_async_event_args &e)
Represents a method that is called when an asynchronous operation completes.
socket_async_event_args(bool suppress_execution_context_flow)
Initializes the SocketAsyncEventArgs.
void set_buffer(const std::vector< byte_t > &memory_buffer)
Sets the region of memory to use as a buffer with an asynchronous socket method.
xtd::event< socket_async_event_args, xtd::delegate< void(const socket_async_event_args &)> > completed
The event used to complete an asynchronous operation.
Definition: socket_async_event_args.h:107
xtd::net::sockets::socket accept_socket() const noexcept
Gets the socket to use or the socket created for accepting a connection with an asynchronous socket m...
const std::vector< byte_t > & buffer() const noexcept
Gets the data buffer to use with an asynchronous socket method.
socket_async_event_args()=default
Creates an empty xtd::net::sockets::socket_async_event_args instance.
Implements the Berkeley sockets interface.
Definition: socket.h:63
Defines the base class for predefined exceptions in the xtd namespace.
Definition: system_exception.h:24
socket_error
Defines error codes for the xtd::net::sockets::socket class.
Definition: socket_error.h:24
transmit_file_options
The TransmitFileOptions enumeration defines values used in file transfer requests.
Definition: transmit_file_options.h:26
socket_async_operation
The type of asynchronous socket operation most recently performed with this context object.
Definition: socket_async_operation.h:26
socket_flags
Specifies socket send and receive behaviors. This enumeration has a flags attribute that allows a bit...
Definition: socket_flags.h:24
@ success
Operation successful.
@ any
Indicates that all styles except allow_binary_specifier, allow_octal_specifier and allow_hex_specifie...
@ use_default_worker_thread
Use the default thread to process long file transfer requests.
@ none
none of the socket operations.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition: system_report.h:17
Contains xtd::net::sockets::send_packets_element class.
Contains xtd::net::sockets::socket class.
Contains xtd::net::sockets::socket_async_operation enum.
Contains xtd::net::sockets::socket_flags enum.
Contains xtd::net::sockets::transmit_file_options enum.