From 82e058a2abae40760f0f9956cdb9d21f8a512624 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Fri, 27 Jan 2017 01:15:46 -0800 Subject: Add device support & testing. Bus semantic fix. This adds nn_device and nng_device. There were some internal changes required to fix shutdown / close issues. Note that we shut down the sockets when exiting from device -- this is required to make both threads see the failure and bail, since we are not using a single event loop. I also noticed that the bus protocol had a bug where it would send messages back to the originator. This was specifically tested for in the compat_device test, and we have fixed it. --- src/core/device.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/core/device.h (limited to 'src/core/device.h') diff --git a/src/core/device.h b/src/core/device.h new file mode 100644 index 00000000..973a4cb7 --- /dev/null +++ b/src/core/device.h @@ -0,0 +1,19 @@ +// +// Copyright 2017 Garrett D'Amore +// +// This software is supplied under the terms of the MIT License, a +// copy of which should be located in the distribution where this +// file was obtained (LICENSE.txt). A copy of the license may also be +// found online at https://opensource.org/licenses/MIT. +// + +#ifndef CORE_DEVICE_H +#define CORE_DEVICE_H + +// Device takes messages from one side, and forwards them to the other. +// It works in both directions. Arguably we should build versions of this +// that are unidirectional, and we could extend this API with user-defined +// filtering functions. +extern int nni_device(nni_sock *, nni_sock *); + +#endif // CORE_DEVICE_H -- cgit v1.2.3-70-g09d2