00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00024 #ifndef SCALESTACK_NETWORK_LOCAL_DATAGRAM_CONNECTION_H
00025 #define SCALESTACK_NETWORK_LOCAL_DATAGRAM_CONNECTION_H
00026
00027 #include <string>
00028
00029 #include <scalestack/kernel/macros.h>
00030 #include <scalestack/network/datagram.h>
00031
00032 namespace scalestack
00033 {
00034 namespace network
00035 {
00036 namespace local
00037 {
00038 namespace datagram
00039 {
00040
00041 class SCALESTACK_API socket: public network::datagram_provider
00042 {
00043 public:
00044
00045 socket(event::handler_service& handler_service,
00046 datagram_service& datagram_service,
00047 const struct addrinfo* local,
00048 const std::string& local_address,
00049 const struct addrinfo* peer);
00050
00051 ~socket();
00052
00053 private:
00054
00058 SCALESTACK_LOCAL
00059 socket(const socket&);
00060
00064 SCALESTACK_LOCAL
00065 socket& operator=(const socket&);
00066
00067 std::string _local_address;
00068 };
00069
00070 }
00071 }
00072 }
00073 }
00074
00075 #endif