WvStreams
wvudp.h
00001 /* -*- Mode: C++ -*-
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 1997-2002 Net Integration Technologies, Inc.
00004  *
00005  */
00006 #ifndef __WVUDP_H
00007 #define __WVUDP_H
00008 
00009 #include "wvfdstream.h"
00010 #include "wvaddr.h"
00011 
00031 class WvUDPStream : public WvFDStream
00032 {
00033 public:
00035     WvUDPStream(const WvIPPortAddr &_local, const WvIPPortAddr &_rem);
00036     virtual ~WvUDPStream();
00037     
00038     const WvAddr *local() const;
00039     
00045     virtual const WvAddr *src() const;
00046     void setdest(const WvIPPortAddr &_remaddr)
00047         { remaddr = _remaddr; }
00048     
00049     void enable_broadcasts();
00050 
00051 protected:
00052     WvIPPortAddr localaddr, remaddr;
00053     
00054     virtual size_t uread(void *buf, size_t count);
00055     virtual size_t uwrite(const void *buf, size_t count);
00056     
00057 public:
00058     const char *wstype() const { return "WvUDPStream"; }
00059 };
00060 
00061 
00062 #endif // __WVUDP_H