Re: Network programming

2014-05-24 Thread Andre Kostur via Digitalmars-d-learn

On 2014-05-24, 11:18 AM, Andre Kostur wrote:

I'm finally making my first concerted foray into D programming.  Being a
networking guy (and a good history in C and C++) I'm starting with some
network code (and trying to use vibe.d as well).  However, I'm running
into some holes that I'm not sure if I'm overlooking something or just
that nobody has run into these themselves yet.  As a quick overview, I'm
looking to talk to the netlink and tun interfaces on linux, as well as
raw IP packets (below UDP and TCP).

First up is the D equivalent to htons/ntohs.  I've found
core.bitop.bswap, but that only works on 32-bit values, and not 16.  And
come to think of it, it would be blindly swapping the bytes.  What about
platforms (hello, sparc) where host byte order is the same as network
byte order?


Of course in fine tradition... minutes after posting one finds an 
answer.  I'm looking too low... std.bitmanip has what I'm looking for.


Network programming

2014-05-24 Thread Andre Kostur via Digitalmars-d-learn
I'm finally making my first concerted foray into D programming.  Being a 
networking guy (and a good history in C and C++) I'm starting with some 
network code (and trying to use vibe.d as well).  However, I'm running 
into some holes that I'm not sure if I'm overlooking something or just 
that nobody has run into these themselves yet.  As a quick overview, I'm 
looking to talk to the netlink and tun interfaces on linux, as well as 
raw IP packets (below UDP and TCP).


First up is the D equivalent to htons/ntohs.  I've found 
core.bitop.bswap, but that only works on 32-bit values, and not 16.  And 
come to think of it, it would be blindly swapping the bytes.  What about 
platforms (hello, sparc) where host byte order is the same as network 
byte order?