proton/delivery.h

Go to the documentation of this file.
00001 #ifndef PROTON_DELIVERY_H
00002 #define PROTON_DELIVERY_H 1
00003 
00004 /*
00005  *
00006  * Licensed to the Apache Software Foundation (ASF) under one
00007  * or more contributor license agreements.  See the NOTICE file
00008  * distributed with this work for additional information
00009  * regarding copyright ownership.  The ASF licenses this file
00010  * to you under the Apache License, Version 2.0 (the
00011  * "License"); you may not use this file except in compliance
00012  * with the License.  You may obtain a copy of the License at
00013  *
00014  *   http://www.apache.org/licenses/LICENSE-2.0
00015  *
00016  * Unless required by applicable law or agreed to in writing,
00017  * software distributed under the License is distributed on an
00018  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
00019  * KIND, either express or implied.  See the License for the
00020  * specific language governing permissions and limitations
00021  * under the License.
00022  *
00023  */
00024 
00025 #include <proton/import_export.h>
00026 #include <proton/disposition.h>
00027 #include <proton/type_compat.h>
00028 #include <stddef.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00046 typedef pn_bytes_t pn_delivery_tag_t;
00047 
00055 PN_EXTERN pn_delivery_tag_t pn_dtag(const char *bytes, size_t size);
00056 
00068 PN_EXTERN pn_delivery_t *pn_delivery(pn_link_t *link, pn_delivery_tag_t tag);
00069 
00079 PN_EXTERN void *pn_delivery_get_context(pn_delivery_t *delivery);
00080 
00090 PN_EXTERN void pn_delivery_set_context(pn_delivery_t *delivery, void *context);
00091 
00098 PN_EXTERN pn_record_t *pn_delivery_attachments(pn_delivery_t *delivery);
00099 
00106 PN_EXTERN pn_delivery_tag_t pn_delivery_tag(pn_delivery_t *delivery);
00107 
00114 PN_EXTERN pn_link_t *pn_delivery_link(pn_delivery_t *delivery);
00115 
00125 PN_EXTERN pn_disposition_t *pn_delivery_local(pn_delivery_t *delivery);
00126 
00133 PN_EXTERN uint64_t pn_delivery_local_state(pn_delivery_t *delivery);
00134 
00144 PN_EXTERN pn_disposition_t *pn_delivery_remote(pn_delivery_t *delivery);
00145 
00152 PN_EXTERN uint64_t pn_delivery_remote_state(pn_delivery_t *delivery);
00153 
00160 PN_EXTERN bool pn_delivery_settled(pn_delivery_t *delivery);
00161 
00168 PN_EXTERN size_t pn_delivery_pending(pn_delivery_t *delivery);
00169 
00179 PN_EXTERN bool pn_delivery_partial(pn_delivery_t *delivery);
00180 
00199 PN_EXTERN bool pn_delivery_aborted(pn_delivery_t *delivery);
00200 
00210 PN_EXTERN bool pn_delivery_writable(pn_delivery_t *delivery);
00211 
00221 PN_EXTERN bool pn_delivery_readable(pn_delivery_t *delivery);
00222 
00233 PN_EXTERN bool pn_delivery_updated(pn_delivery_t *delivery);
00234 
00244 PN_EXTERN void pn_delivery_update(pn_delivery_t *delivery, uint64_t state);
00245 
00253 PN_EXTERN void pn_delivery_clear(pn_delivery_t *delivery);
00254 
00261 PN_EXTERN bool pn_delivery_current(pn_delivery_t *delivery);
00262 
00280 PN_EXTERN void pn_delivery_abort(pn_delivery_t *delivery);
00281 
00292 PN_EXTERN void pn_delivery_settle(pn_delivery_t *delivery);
00293 
00299 PN_EXTERN void pn_delivery_dump(pn_delivery_t *delivery);
00300 
00313 PN_EXTERN bool pn_delivery_buffered(pn_delivery_t *delivery);
00314 
00331 PN_EXTERN pn_delivery_t *pn_work_head(pn_connection_t *connection);
00332 
00342 PN_EXTERN pn_delivery_t *pn_work_next(pn_delivery_t *delivery);
00343 
00348 #ifdef __cplusplus
00349 }
00350 #endif
00351 
00352 #endif /* delivery.h */

Generated on 8 Oct 2019 for Qpid Proton C by  doxygen 1.6.1