Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
* [Cerowrt-devel] Bringing asio to *WRT
@ 2013-09-08 19:18 Daniel Pocock
  2013-09-08 21:23 ` Dave Taht
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Pocock @ 2013-09-08 19:18 UTC (permalink / raw)
  To: cerowrt-devel




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?

Regards,

Daniel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Cerowrt-devel] Bringing asio to *WRT
  2013-09-08 19:18 [Cerowrt-devel] Bringing asio to *WRT Daniel Pocock
@ 2013-09-08 21:23 ` Dave Taht
  2013-09-08 21:57   ` Daniel Pocock
  0 siblings, 1 reply; 5+ messages in thread
From: Dave Taht @ 2013-09-08 21:23 UTC (permalink / raw)
  To: Daniel Pocock; +Cc: cerowrt-devel

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"

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?

Anyway, if you want to package it up I'll gladly fold it into ceropackages,
and build it, where more can fiddle with it. 


> 
> Regards,
> 
> Daniel
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Cerowrt-devel] Bringing asio to *WRT
  2013-09-08 21:23 ` Dave Taht
@ 2013-09-08 21:57   ` Daniel Pocock
  2013-09-08 22:57     ` Dave Taht
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Pocock @ 2013-09-08 21:57 UTC (permalink / raw)
  To: Dave Taht; +Cc: cerowrt-devel

[-- 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))


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Cerowrt-devel] Bringing asio to *WRT
  2013-09-08 21:57   ` Daniel Pocock
@ 2013-09-08 22:57     ` Dave Taht
  2013-09-09 13:09       ` Daniel Pocock
  0 siblings, 1 reply; 5+ messages in thread
From: Dave Taht @ 2013-09-08 22:57 UTC (permalink / raw)
  To: Daniel Pocock; +Cc: cerowrt-devel

[-- Attachment #1: Type: text/plain, Size: 2937 bytes --]

OK, well, I tossed it into ceropackages. it builds. It pulls in the boost
headers for some reason. Is there some specific package on top of this for
the webrtc stack you have package makefiles for?


On Sun, Sep 8, 2013 at 2:57 PM, Daniel Pocock <daniel@pocock.com.au> wrote:

>
>
> 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.
>
>
>
>
>
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>
>


-- 
Dave Täht

Fixing bufferbloat with cerowrt:
http://www.teklibre.com/cerowrt/subscribe.html

[-- Attachment #2: Type: text/html, Size: 4033 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Cerowrt-devel] Bringing asio to *WRT
  2013-09-08 22:57     ` Dave Taht
@ 2013-09-09 13:09       ` Daniel Pocock
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Pocock @ 2013-09-09 13:09 UTC (permalink / raw)
  To: Dave Taht; +Cc: cerowrt-devel

On 09/09/13 00:57, Dave Taht wrote:
> OK, well, I tossed it into ceropackages. it builds. It pulls in the
> boost headers for some reason. Is there some specific package on top
> of this for the webrtc stack you have package makefiles for?
>
>

I think it needs boost in order to run test cases and some example
programs and there are some optional features, like regex support, which
do require parts of boost

I just did

   ldd /usr/sbin/reTurnServer

on Debian and it doesn't show any linkage against boost libraries
though, it uses the non-Boost headers-only version of asio

Here is the most recent discussion of the reSIProcate patch, including
reTurn, Jiri has agreed to add it to the telephony packages set but he
has been blocked by the asio package:

     http://patchwork.openwrt.org/patch/4025/

With v1.8, you get TURN and regular SIP.  The full SIP over WebSocket
server support for WebRTC is coming in the v1.9 release in a few weeks. 
To have full WebRTC support in *WRT would also require a HTML client in
the Web UI, JsSIP would be part of that http://tryit.jssip.net



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-09-09 13:09 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-08 19:18 [Cerowrt-devel] Bringing asio to *WRT Daniel Pocock
2013-09-08 21:23 ` Dave Taht
2013-09-08 21:57   ` Daniel Pocock
2013-09-08 22:57     ` Dave Taht
2013-09-09 13:09       ` Daniel Pocock

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox