1
#ifndef Transceiver_hxx
2
#define Transceiver_hxx
4
#include "resip/stack/UdpTransport.hxx"
5
#include "resip/stack/SipMessage.hxx"
6
#include "Resolver.hxx"
11
class Transceiver // currently a Udp transceiver
14
Transceiver(int port);
16
//sends the message right away, fully populates the front via of the message
17
void send(const resip::Resolver& target,
18
resip::SipMessage& msg);
20
void send(resip::SipMessage& message);
22
//blocks for up to waitMs, returns null if no message was received.
23
//caller of receive owns the memory.
24
resip::SipMessage* receive(int waitMs);
26
const resip::Uri& contactUri() { return mContactUri; }
29
resip::Fifo<resip::Message> mReceived;
30
resip::UdpTransport mUdp;
31
resip::Uri mContactUri;
39
/* ====================================================================
40
* The Vovida Software License, Version 1.0
42
* Copyright (c) 2000 Vovida Networks, Inc. All rights reserved.
44
* Redistribution and use in source and binary forms, with or without
45
* modification, are permitted provided that the following conditions
48
* 1. Redistributions of source code must retain the above copyright
49
* notice, this list of conditions and the following disclaimer.
51
* 2. Redistributions in binary form must reproduce the above copyright
52
* notice, this list of conditions and the following disclaimer in
53
* the documentation and/or other materials provided with the
56
* 3. The names "VOCAL", "Vovida Open Communication Application Library",
57
* and "Vovida Open Communication Application Library (VOCAL)" must
58
* not be used to endorse or promote products derived from this
59
* software without prior written permission. For written
60
* permission, please contact vocal@vovida.org.
62
* 4. Products derived from this software may not be called "VOCAL", nor
63
* may "VOCAL" appear in their name, without prior written
64
* permission of Vovida Networks, Inc.
66
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
67
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
68
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
69
* NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA
70
* NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
71
* IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
72
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
73
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
74
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
75
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
76
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
77
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
80
* ====================================================================
82
* This software consists of voluntary contributions made by Vovida
83
* Networks, Inc. and many individuals on behalf of Vovida Networks,
84
* Inc. For more information on Vovida Networks, Inc., please see
85
* <http://www.vovida.org/>.