History log of /5.5.2/platform/cbsocket/CMakeLists.txt (Results 1 - 3 of 3)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.0.3, v5.5.4, v5.5.0, v4.6.5
# 6696145f 16-Feb-2018 Dave Rigby <daver@couchbase.com>

Replace INCLUDE_DIRECTORIES with TARGET_INCLUDE_DIRECTORIES

It is preferred to use target_include_directories() instead of
include_directories() to ensure that header dependancies are ex

Replace INCLUDE_DIRECTORIES with TARGET_INCLUDE_DIRECTORIES

It is preferred to use target_include_directories() instead of
include_directories() to ensure that header dependancies are explicit
(and we don't accidently depend on headers). See 'Effective Modern
CMake[1]' for background.

Replace include_directories() with target_include_directories() where
necessary, or simply remove include_directories() where it is
unnecessary - for example where a target already depends on a library
and the library has already declared its public includes.

To assist with this, an explicit 'platform_headers' interface library
has been created, targets which only wish to use platform's headers
(for example tests) can link to that library to get the correct search
paths.

[1]: https://gist.github.com/mbinna/c61dbb39bca0e4fb7d1f73b0d66a4fd1

Change-Id: I4483fc3d5c888ef7bf1ece2e875df5c90655d1a6
Reviewed-on: http://review.couchbase.org/90742
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>

show more ...


Revision tags: v5.0.0
# c29955ea 26-May-2017 Trond Norbye <trond.norbye@gmail.com>

Enhancements to cb:net::socket

* Add socketpair
* Add set_socket_noblocking
* Add handlers to filter which sockets to log
* Add handlers to when sockets are closed
* Use a se

Enhancements to cb:net::socket

* Add socketpair
* Add set_socket_noblocking
* Add handlers to filter which sockets to log
* Add handlers to when sockets are closed
* Use a sequence number for the file names to allow overwriting
the same file if the socket descriptor is reused.

Change-Id: I625fc1b0c18086cf523effc3bf405cc3c6849624
Reviewed-on: http://review.couchbase.org/78630
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Jim Walker <jim@couchbase.com>

show more ...


# c6290174 24-May-2017 Trond Norbye <trond.norbye@gmail.com>

Create cbsockets (cb::net) containing socket wrappers

This is a wrapping layer on top of BSD sockets to allow for logging all
of the data being transferred. It was initially created in o

Create cbsockets (cb::net) containing socket wrappers

This is a wrapping layer on top of BSD sockets to allow for logging all
of the data being transferred. It was initially created in order to
track down why one of the pipes in moxi seemed to get out of sync
protocol wise, but may be useful in the future. This extra layer cause
an extra lookup of an atomic variable to determine if logging should
be performed or not which shouldn't affect the performance too much.

As it was initially created for locating a bug in moxi, a C API exists
with a 'cb_' prefix. It all wraps into methods in cb::net namespace.

Each method works as documented in the in the OS.

@todo open up for a callback to be called to allow the app to
determine if a particular socket should be logged or not (only if
the global logger flag is set)

@todo As each application may open and close a lot of sockets during
its lifetime, the current version _deletes_ the files when the application
close the socket. The use case when I developed this was that the program
would crash and generate a coredump (but it could open/send-receive/close
a lot of data which could generate tens of GB of data first).

One could use tcpdump to collect the same info, but I failed to get
tcpdump create a pcap file I know how to parse when using the loopback
interface. Whipping up this seemed a lot easier ;-)

Change-Id: I9f68912c61fdc8d20998bf3e6a9e147b7d77063b
Reviewed-on: http://review.couchbase.org/78518
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...