FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
poco/Net/src/DatagramSocket.cpp at develop · cppfool/poco · GitHub
cppfool
/
poco
Public
forked from
pocoproject/poco
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Issues
0
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
poco
/
Net
/
src
/
DatagramSocket.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
110 lines (76 loc) · 2.25 KB
Breadcrumbs
poco
/
Net
/
src
/
DatagramSocket.cpp
Copy path
File metadata and controls
110 lines (76 loc) · 2.25 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
//
//
DatagramSocket.cpp
//
//
$Id: //poco/1.4/Net/src/DatagramSocket.cpp#1 $
//
//
Library: Net
//
Package: Sockets
//
Module: DatagramSocket
//
//
Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
//
and Contributors.
//
//
SPDX-License-Identifier: BSL-1.0
//
#
include
"
Poco/Net/DatagramSocket.h
"
#
include
"
Poco/Net/DatagramSocketImpl.h
"
#
include
"
Poco/Exception.h
"
using
Poco::InvalidArgumentException;
namespace
Poco
{
namespace
Net
{
DatagramSocket::DatagramSocket
(): Socket(
new
DatagramSocketImpl)
{
}
DatagramSocket::DatagramSocket
(IPAddress::Family family): Socket(
new
DatagramSocketImpl(family))
{
}
DatagramSocket::DatagramSocket
(
const
SocketAddress& address,
bool
reuseAddress): Socket(
new
DatagramSocketImpl(address.family()))
{
bind
(address, reuseAddress);
}
DatagramSocket::DatagramSocket
(
const
Socket& socket): Socket(socket)
{
if
(!
dynamic_cast
<DatagramSocketImpl*>(
impl
()))
throw
InvalidArgumentException
(
"
Cannot assign incompatible socket
"
);
}
DatagramSocket::DatagramSocket
(SocketImpl* pImpl): Socket(pImpl)
{
if
(!
dynamic_cast
<DatagramSocketImpl*>(
impl
()))
throw
InvalidArgumentException
(
"
Cannot assign incompatible socket
"
);
}
DatagramSocket::~DatagramSocket
()
{
}
DatagramSocket& DatagramSocket::
operator
= (
const
Socket& socket)
{
if
(
dynamic_cast
<DatagramSocketImpl*>(socket.
impl
()))
Socket::
operator
= (socket);
else
throw
InvalidArgumentException
(
"
Cannot assign incompatible socket
"
);
return
*
this
;
}
void
DatagramSocket::connect
(
const
SocketAddress& address)
{
impl
()->
connect
(address);
}
void
DatagramSocket::bind
(
const
SocketAddress& address,
bool
reuseAddress)
{
impl
()->
bind
(address, reuseAddress);
}
int
DatagramSocket::sendBytes
(
const
void
* buffer,
int
length,
int
flags)
{
return
impl
()->
sendBytes
(buffer, length, flags);
}
int
DatagramSocket::receiveBytes
(
void
* buffer,
int
length,
int
flags)
{
return
impl
()->
receiveBytes
(buffer, length, flags);
}
int
DatagramSocket::sendTo
(
const
void
* buffer,
int
length,
const
SocketAddress& address,
int
flags)
{
return
impl
()->
sendTo
(buffer, length, address, flags);
}
int
DatagramSocket::receiveFrom
(
void
* buffer,
int
length, SocketAddress& address,
int
flags)
{
return
impl
()->
receiveFrom
(buffer, length, address, flags);
}
} }
//
namespace Poco::Net
Back
|
FazBrowse Home
|
New Git URL