Loading...
Searching...
No Matches
link.hpp
Go to the documentation of this file.
#ifndef PROTON_LINK_HPP
#define PROTON_LINK_HPP
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*/
#include "./fwd.hpp"
#include "./internal/export.hpp"
#include "./endpoint.hpp"
#include "./internal/object.hpp"
#include <map>
#include <string>
struct pn_link_t;
namespace proton {
class
PN_CPP_CLASS_EXTERN link : public internal::object<pn_link_t> , public endpoint {
link(pn_link_t* l) : internal::object<pn_link_t>(l) {}
public:
link() : internal::object<pn_link_t>(0) {}
PN_CPP_EXTERN bool uninitialized() const;
PN_CPP_EXTERN bool active() const;
PN_CPP_EXTERN bool closed() const;
PN_CPP_EXTERN class error_condition error() const;
PN_CPP_EXTERN void close();
PN_CPP_EXTERN void close(const error_condition&);
// XXX Should take error condition
PN_CPP_EXTERN void detach();
PN_CPP_EXTERN int credit() const;
PN_CPP_EXTERN bool draining();
PN_CPP_EXTERN std::string name() const;
PN_CPP_EXTERN class container &container() const;
PN_CPP_EXTERN class work_queue& work_queue() const;
PN_CPP_EXTERN class connection connection() const;
PN_CPP_EXTERN class session session() const;
PN_CPP_EXTERN std::map<symbol, value> properties() const;
protected:
// Initiate the AMQP attach frame.
void attach();
friend class internal::factory<link>;
};
}
#endif // PROTON_LINK_HPP
proton::endpoint
The base class for session, connection, and link.
Definition endpoint.hpp:36
proton::error_condition
Describes an endpoint error state.
Definition error_condition.hpp:39
proton::link::error
class error_condition error() const
Get the error condition of the remote endpoint.
proton::link::draining
bool draining()
Unsettled API - True for a receiver if a drain cycle has been started and the corresponding on_receiv...
proton::link::name
std::string name() const
Get the link name.
proton::link::close
void close()
Close the endpoint.
proton::link::close
void close(const error_condition &)
Close the endpoint with an error condition.
proton::link::work_queue
class work_queue & work_queue() const
Get the work_queue for the link.
proton::link::uninitialized
bool uninitialized() const
True if the local end is uninitialized.
proton::link::session
class session session() const
The session that owns this link.
proton::link::container
class container & container() const
The container for this link.
proton::link::detach
void detach()
Suspend the link without closing it.
proton::link::link
link()
Create an empty link.
Definition link.hpp:50
proton::link::active
bool active() const
True if the local end is active.
proton::link::properties
std::map< symbol, value > properties() const
Unsettled API - Properties supplied by the remote link endpoint.
proton::link::closed
bool closed() const
True if the local and remote ends are closed.
proton::link::credit
int credit() const
Credit available on the link.
proton::link::connection
class connection connection() const
The connection that owns this link.
endpoint.hpp
The base class for session, connection, and link.
fwd.hpp
Forward declarations.
proton
The main Proton namespace.
Definition annotation_key.hpp:33