summaryrefslogtreecommitdiff
path: root/ACE/protocols/ace/HTBP/HTBP_Session.inl
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/protocols/ace/HTBP/HTBP_Session.inl')
-rw-r--r--ACE/protocols/ace/HTBP/HTBP_Session.inl114
1 files changed, 114 insertions, 0 deletions
diff --git a/ACE/protocols/ace/HTBP/HTBP_Session.inl b/ACE/protocols/ace/HTBP/HTBP_Session.inl
new file mode 100644
index 00000000000..aee8cbf4dc3
--- /dev/null
+++ b/ACE/protocols/ace/HTBP/HTBP_Session.inl
@@ -0,0 +1,114 @@
+// -*- C++ -*-
+//
+// $Id$
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ACE_INLINE
+void
+ACE::HTBP::Session::reconnect () const
+{
+ if (!this->closed_ && this->proxy_addr_)
+ {
+ if (inbound_ &&
+ inbound_->ace_stream().get_handle() == ACE_INVALID_HANDLE)
+ reconnect_i (inbound_);
+ if (outbound_ &&
+ outbound_->ace_stream().get_handle() == ACE_INVALID_HANDLE)
+ reconnect_i (outbound_);
+ }
+}
+
+ACE_INLINE
+void
+ACE::HTBP::Session::inbound (ACE::HTBP::Channel *s)
+{
+ this->inbound_ = s;
+}
+
+
+ACE_INLINE
+void
+ACE::HTBP::Session::outbound (ACE::HTBP::Channel *s)
+{
+ this->outbound_ = s;
+}
+
+ACE_INLINE
+ACE::HTBP::Channel *
+ACE::HTBP::Session::inbound (void) const
+{
+ return this->inbound_;
+}
+
+ACE_INLINE
+const ACE::HTBP::Session_Id_t&
+ACE::HTBP::Session::session_id(void) const
+{
+ return this->session_id_;
+}
+
+// I'm wondering if this should be coupled with a map update...?
+ACE_INLINE
+void
+ACE::HTBP::Session::session_id (ACE_UINT32 id)
+{
+ this->session_id_.id_ = id;
+}
+
+ACE_INLINE
+const ACE_INET_Addr *
+ACE::HTBP::Session::proxy_addr (void) const
+{
+ return this->proxy_addr_;
+}
+
+ACE_INLINE
+const ACE::HTBP::Addr &
+ACE::HTBP::Session::peer_addr (void) const
+{
+ return this->session_id_.peer_;
+}
+
+ACE_INLINE
+const ACE::HTBP::Addr &
+ACE::HTBP::Session::local_addr (void) const
+{
+ return this->session_id_.local_;
+}
+
+ACE_INLINE
+void
+ACE::HTBP::Session::proxy_addr (ACE_INET_Addr *pa, int destroy)
+{
+ if (this->destroy_proxy_addr_)
+ delete this->proxy_addr_;
+ this->proxy_addr_ = pa;
+ this->destroy_proxy_addr_ = destroy;
+}
+
+ACE_INLINE
+int
+ACE::HTBP::Session::sock_flags (void) const
+{
+ return this->sock_flags_;
+}
+
+//---------------------------------------------------------------------------
+ACE_INLINE
+u_long
+ACE::HTBP::Session_Id_t::hash () const
+{
+ return id_; // + local.hash() + peer.hash();
+}
+
+ACE_INLINE
+bool
+ACE::HTBP::Session_Id_t::operator ==(const ACE::HTBP::Session_Id_t &other) const
+{
+ return ((this->id_ == other.id_) &&
+ (this->local_ == other.local_) &&
+ (this->peer_ == other.peer_));
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL