From: Daniel Pocock <daniel@pocock.com.au>
To: Dave Taht <dave.taht@bufferbloat.net>
Cc: cerowrt-devel@lists.bufferbloat.net
Subject: Re: [Cerowrt-devel] Bringing asio to *WRT
Date: Sun, 08 Sep 2013 23:57:44 +0200 [thread overview]
Message-ID: <522CF2D8.2050609@pocock.com.au> (raw)
In-Reply-To: <20130908212355.GB14461@lists.bufferbloat.net>
[-- Attachment #1: Type: text/plain, Size: 2184 bytes --]
On 08/09/13 23:23, Dave Taht wrote:
> On Sun, Sep 08, 2013 at 09:18:54PM +0200, Daniel Pocock wrote:
>>
>>
>>
>> Hi,
>>
>> I posted this contribution to OpenWRT but it has been ignored for almost
>> 12 months:
>>
>> https://lists.openwrt.org/pipermail/openwrt-devel/2012-September/016771.html
>>
>> I've tried asio on OpenWRT and it seems to work fine, I've submitted a
>> patch for it. Would it be possible to bring this directly into CeroWRT?
>
> We maintain a packages repo (ceropackages-3.3) for various bits of interesting
> stuff.
>
> Certainly a decent stun/turn server in the webrtc world would be "interesting"
The underlying asio library itself is general purpose - so it is not
just for STUN/TURN. TURN is very compelling now that WebRTC is taking
off and uses TURN by default from the browser.
To give another example, asio has been used as a foundation for the
websocketpp suite, which enables both client and server websocket
development
> It's not clear to me what else asio is - and if it is "decent enough"?
> In general I am allergic to c++/boost stuff in tiny embedded systems - we have
> only so much flash and ram to spare. What are the flash and memory impacts?
asio itself is a header library for asynchronous, event-based programming
It comes in a boost version and a non-boost version. This is the
non-boost version, so it is likely to have less impact than the boost
version. I confess the full solution with SIP + TURN + SSL is a little
top heavy though, a device with 32MB RAM may not be enough, my WL-1043ND
couldn't handle it all. On the other hand, one of these jumbo routers
(I went and got a Buffalo WZR-HP-AG300H with 128MB RAM) is quite
suitable and can run a full WebRTC stack as a convenient alternative to
Skype.
Here is a trivial asio example:
http://think-async.com/Asio/asio-1.4.8/src/examples/echo/async_tcp_echo_server.cpp
> Anyway, if you want to package it up I'll gladly fold it into ceropackages,
> and build it, where more can fiddle with it.
I've made up a patch against OpenWRT, to bring this into ceropackages do
I need to adapt the patch or you can easily use it as is? Please find
the Makefile attached.
[-- Attachment #2: Makefile.asio --]
[-- Type: text/plain, Size: 1332 bytes --]
#
# Copyright (C) 2012 OpenWrt.org
# Copyright (C) 2012 Daniel Pocock <daniel@pocock.com.au>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=asio
PKG_VERSION:=1.4.8
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/asio-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/asio
PKG_MD5SUM:=0e2ebaa1e5569e415908c8d0ede95044
#PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
#TARGET_CFLAGS += $(FPIC)
define Package/libasio
SECTION:=libs
CATEGORY:=Libraries
DEFAULT:=m
TITLE:=libasio
URL:=http://think-async.com/
DEPENDS:=+boost
endef
define Package/libasio/description
Async IO library
endef
define Build/Configure
$(call Build/Configure/Default, --enable-maintainer-mode )
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/include
endef
define Package/libasio/install
$(MAKE) DESTDIR=$(PKG_INSTALL_DIR) -C $(PKG_BUILD_DIR)/include install
endef
define Build/InstallDev
$(MAKE) DESTDIR=$(1) -C $(PKG_BUILD_DIR)/include install
# $(INSTALL_DIR) $(1)/usr/include/asio
# $(CP) $(PKG_INSTALL_DIR)/usr/include/asio.hpp $(1)/usr/include/
# $(CP) $(PKG_BUILD_DIR)/usr/include/asio/* $(1)/usr/include/asio/
endef
$(eval $(call BuildPackage,libasio))
next prev parent reply other threads:[~2013-09-08 21:57 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-08 19:18 Daniel Pocock
2013-09-08 21:23 ` Dave Taht
2013-09-08 21:57 ` Daniel Pocock [this message]
2013-09-08 22:57 ` Dave Taht
2013-09-09 13:09 ` Daniel Pocock
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/cerowrt-devel.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=522CF2D8.2050609@pocock.com.au \
--to=daniel@pocock.com.au \
--cc=cerowrt-devel@lists.bufferbloat.net \
--cc=dave.taht@bufferbloat.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox