projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove a rather excessive log message.
[dcpomatic.git]
/
src
/
lib
/
dcpomatic_socket.cc
diff --git
a/src/lib/dcpomatic_socket.cc
b/src/lib/dcpomatic_socket.cc
index a0a7a1cf3f3d877ee92aa204c2ad3c23f162a754..8f8f639cc09be15f75e65c35b735abb69e5a303a 100644
(file)
--- a/
src/lib/dcpomatic_socket.cc
+++ b/
src/lib/dcpomatic_socket.cc
@@
-18,18
+18,22
@@
*/
*/
-#include "dcpomatic_socket.h"
+
#include "compose.hpp"
#include "compose.hpp"
-#include "exceptions.h"
#include "dcpomatic_assert.h"
#include "dcpomatic_assert.h"
-#include <boost/bind.hpp>
+#include "dcpomatic_log.h"
+#include "dcpomatic_socket.h"
+#include "exceptions.h"
+#include <boost/bind/bind.hpp>
#include <boost/lambda/lambda.hpp>
#include <iostream>
#include "i18n.h"
#include <boost/lambda/lambda.hpp>
#include <iostream>
#include "i18n.h"
-using boost::shared_ptr;
-using boost::weak_ptr;
+
+using std::shared_ptr;
+using std::weak_ptr;
+
/** @param timeout Timeout in seconds */
Socket::Socket (int timeout)
/** @param timeout Timeout in seconds */
Socket::Socket (int timeout)
@@
-52,6
+56,7
@@
Socket::check ()
_deadline.async_wait (boost::bind (&Socket::check, this));
}
_deadline.async_wait (boost::bind (&Socket::check, this));
}
+
/** Blocking connect.
* @param endpoint End-point to connect to.
*/
/** Blocking connect.
* @param endpoint End-point to connect to.
*/
@@
-72,8
+77,17
@@
Socket::connect (boost::asio::ip::tcp::endpoint endpoint)
if (!_socket.is_open ()) {
throw NetworkError (_("connect timed out"));
}
if (!_socket.is_open ()) {
throw NetworkError (_("connect timed out"));
}
+
+ if (_send_buffer_size) {
+ boost::asio::socket_base::send_buffer_size old_size;
+ _socket.get_option(old_size);
+
+ boost::asio::socket_base::send_buffer_size new_size(*_send_buffer_size);
+ _socket.set_option(new_size);
+ }
}
}
+
/** Blocking write.
* @param data Buffer to write.
* @param size Number of bytes to write.
/** Blocking write.
* @param data Buffer to write.
* @param size Number of bytes to write.
@@
-99,6
+113,7
@@
Socket::write (uint8_t const * data, int size)
}
}
}
}
+
void
Socket::write (uint32_t v)
{
void
Socket::write (uint32_t v)
{
@@
-106,6
+121,7
@@
Socket::write (uint32_t v)
write (reinterpret_cast<uint8_t*> (&v), 4);
}
write (reinterpret_cast<uint8_t*> (&v), 4);
}
+
/** Blocking read.
* @param data Buffer to read to.
* @param size Number of bytes to read.
/** Blocking read.
* @param data Buffer to read to.
* @param size Number of bytes to read.
@@
-131,6
+147,7
@@
Socket::read (uint8_t* data, int size)
}
}
}
}
+
uint32_t
Socket::read_uint32 ()
{
uint32_t
Socket::read_uint32 ()
{
@@
-147,6
+164,7
@@
Socket::start_read_digest ()
_read_digester.reset (new Digester());
}
_read_digester.reset (new Digester());
}
+
void
Socket::start_write_digest ()
{
void
Socket::start_write_digest ()
{
@@
-165,7
+183,7
@@
Socket::ReadDigestScope::ReadDigestScope (shared_ptr<Socket> socket)
bool
Socket::ReadDigestScope::check ()
{
bool
Socket::ReadDigestScope::check ()
{
-
shared_ptr<Socket>
sp = _socket.lock ();
+
auto
sp = _socket.lock ();
if (!sp) {
return false;
}
if (!sp) {
return false;
}
@@
-183,7
+201,7
@@
Socket::WriteDigestScope::WriteDigestScope (shared_ptr<Socket> socket)
Socket::WriteDigestScope::~WriteDigestScope ()
{
Socket::WriteDigestScope::~WriteDigestScope ()
{
-
shared_ptr<Socket>
sp = _socket.lock ();
+
auto
sp = _socket.lock ();
if (sp) {
try {
sp->finish_write_digest ();
if (sp) {
try {
sp->finish_write_digest ();
@@
-216,6
+234,7
@@
Socket::check_read_digest ()
return memcmp(ref, actual, size) == 0;
}
return memcmp(ref, actual, size) == 0;
}
+
void
Socket::finish_write_digest ()
{
void
Socket::finish_write_digest ()
{
@@
-233,3
+252,10
@@
Socket::finish_write_digest ()
write (buffer, size);
}
write (buffer, size);
}
+
+void
+Socket::set_send_buffer_size (int size)
+{
+ _send_buffer_size = size;
+}
+