http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/639bed99/proton-c/bindings/go/event/wrappers_gen.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/event/wrappers_gen.go 
b/proton-c/bindings/go/event/wrappers_gen.go
deleted file mode 100644
index 73f0d3b..0000000
--- a/proton-c/bindings/go/event/wrappers_gen.go
+++ /dev/null
@@ -1,732 +0,0 @@
-/*
-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.
-*/
-
-//
-// NOTE: This file was generated by genwrap.go, do not edit it by hand.
-//
-
-package event
-
-import (
-       "qpid.apache.org/proton/go/internal"
-       "time"
-       "unsafe"
-)
-
-// #include <proton/types.h>
-// #include <proton/event.h>
-// #include <stdlib.h>
-// #include <proton/session.h>
-// #include <proton/link.h>
-// #include <proton/delivery.h>
-// #include <proton/disposition.h>
-// #include <proton/condition.h>
-// #include <proton/terminus.h>
-// #include <proton/connection.h>
-import "C"
-
-type EventType int
-
-const (
-       EConnectionInit         EventType = C.PN_CONNECTION_INIT
-       EConnectionBound        EventType = C.PN_CONNECTION_BOUND
-       EConnectionUnbound      EventType = C.PN_CONNECTION_UNBOUND
-       EConnectionLocalOpen    EventType = C.PN_CONNECTION_LOCAL_OPEN
-       EConnectionRemoteOpen   EventType = C.PN_CONNECTION_REMOTE_OPEN
-       EConnectionLocalClose   EventType = C.PN_CONNECTION_LOCAL_CLOSE
-       EConnectionRemoteClose  EventType = C.PN_CONNECTION_REMOTE_CLOSE
-       EConnectionFinal        EventType = C.PN_CONNECTION_FINAL
-       ESessionInit            EventType = C.PN_SESSION_INIT
-       ESessionLocalOpen       EventType = C.PN_SESSION_LOCAL_OPEN
-       ESessionRemoteOpen      EventType = C.PN_SESSION_REMOTE_OPEN
-       ESessionLocalClose      EventType = C.PN_SESSION_LOCAL_CLOSE
-       ESessionRemoteClose     EventType = C.PN_SESSION_REMOTE_CLOSE
-       ESessionFinal           EventType = C.PN_SESSION_FINAL
-       ELinkInit               EventType = C.PN_LINK_INIT
-       ELinkLocalOpen          EventType = C.PN_LINK_LOCAL_OPEN
-       ELinkRemoteOpen         EventType = C.PN_LINK_REMOTE_OPEN
-       ELinkLocalClose         EventType = C.PN_LINK_LOCAL_CLOSE
-       ELinkRemoteClose        EventType = C.PN_LINK_REMOTE_CLOSE
-       ELinkLocalDetach        EventType = C.PN_LINK_LOCAL_DETACH
-       ELinkRemoteDetach       EventType = C.PN_LINK_REMOTE_DETACH
-       ELinkFlow               EventType = C.PN_LINK_FLOW
-       ELinkFinal              EventType = C.PN_LINK_FINAL
-       EDelivery               EventType = C.PN_DELIVERY
-       ETransport              EventType = C.PN_TRANSPORT
-       ETransportAuthenticated EventType = C.PN_TRANSPORT_AUTHENTICATED
-       ETransportError         EventType = C.PN_TRANSPORT_ERROR
-       ETransportHeadClosed    EventType = C.PN_TRANSPORT_HEAD_CLOSED
-       ETransportTailClosed    EventType = C.PN_TRANSPORT_TAIL_CLOSED
-       ETransportClosed        EventType = C.PN_TRANSPORT_CLOSED
-)
-
-func (e EventType) String() string {
-       switch e {
-
-       case C.PN_CONNECTION_INIT:
-               return "ConnectionInit"
-       case C.PN_CONNECTION_BOUND:
-               return "ConnectionBound"
-       case C.PN_CONNECTION_UNBOUND:
-               return "ConnectionUnbound"
-       case C.PN_CONNECTION_LOCAL_OPEN:
-               return "ConnectionLocalOpen"
-       case C.PN_CONNECTION_REMOTE_OPEN:
-               return "ConnectionRemoteOpen"
-       case C.PN_CONNECTION_LOCAL_CLOSE:
-               return "ConnectionLocalClose"
-       case C.PN_CONNECTION_REMOTE_CLOSE:
-               return "ConnectionRemoteClose"
-       case C.PN_CONNECTION_FINAL:
-               return "ConnectionFinal"
-       case C.PN_SESSION_INIT:
-               return "SessionInit"
-       case C.PN_SESSION_LOCAL_OPEN:
-               return "SessionLocalOpen"
-       case C.PN_SESSION_REMOTE_OPEN:
-               return "SessionRemoteOpen"
-       case C.PN_SESSION_LOCAL_CLOSE:
-               return "SessionLocalClose"
-       case C.PN_SESSION_REMOTE_CLOSE:
-               return "SessionRemoteClose"
-       case C.PN_SESSION_FINAL:
-               return "SessionFinal"
-       case C.PN_LINK_INIT:
-               return "LinkInit"
-       case C.PN_LINK_LOCAL_OPEN:
-               return "LinkLocalOpen"
-       case C.PN_LINK_REMOTE_OPEN:
-               return "LinkRemoteOpen"
-       case C.PN_LINK_LOCAL_CLOSE:
-               return "LinkLocalClose"
-       case C.PN_LINK_REMOTE_CLOSE:
-               return "LinkRemoteClose"
-       case C.PN_LINK_LOCAL_DETACH:
-               return "LinkLocalDetach"
-       case C.PN_LINK_REMOTE_DETACH:
-               return "LinkRemoteDetach"
-       case C.PN_LINK_FLOW:
-               return "LinkFlow"
-       case C.PN_LINK_FINAL:
-               return "LinkFinal"
-       case C.PN_DELIVERY:
-               return "Delivery"
-       case C.PN_TRANSPORT:
-               return "Transport"
-       case C.PN_TRANSPORT_AUTHENTICATED:
-               return "TransportAuthenticated"
-       case C.PN_TRANSPORT_ERROR:
-               return "TransportError"
-       case C.PN_TRANSPORT_HEAD_CLOSED:
-               return "TransportHeadClosed"
-       case C.PN_TRANSPORT_TAIL_CLOSED:
-               return "TransportTailClosed"
-       case C.PN_TRANSPORT_CLOSED:
-               return "TransportClosed"
-       }
-       return "Unknown"
-}
-
-// Wrappers for declarations in session.h
-
-type Session struct{ pn *C.pn_session_t }
-
-func (s Session) IsNil() bool { return s.pn == nil }
-func (s Session) Free() {
-       C.pn_session_free(s.pn)
-}
-func (s Session) State() State {
-       return State(C.pn_session_state(s.pn))
-}
-func (s Session) Error() error {
-       return internal.PnError(unsafe.Pointer(C.pn_session_error(s.pn)))
-}
-func (s Session) Condition() Condition {
-       return Condition{C.pn_session_condition(s.pn)}
-}
-func (s Session) RemoteCondition() Condition {
-       return Condition{C.pn_session_remote_condition(s.pn)}
-}
-func (s Session) Connection() Connection {
-       return Connection{C.pn_session_connection(s.pn)}
-}
-func (s Session) Open() {
-       C.pn_session_open(s.pn)
-}
-func (s Session) Close() {
-       C.pn_session_close(s.pn)
-}
-func (s Session) IncomingCapacity() uint {
-       return uint(C.pn_session_get_incoming_capacity(s.pn))
-}
-func (s Session) SetIncomingCapacity(capacity uint) {
-       C.pn_session_set_incoming_capacity(s.pn, C.size_t(capacity))
-}
-func (s Session) OutgoingBytes() uint {
-       return uint(C.pn_session_outgoing_bytes(s.pn))
-}
-func (s Session) IncomingBytes() uint {
-       return uint(C.pn_session_incoming_bytes(s.pn))
-}
-func (s Session) Next(state State) Session {
-       return Session{C.pn_session_next(s.pn, C.pn_state_t(state))}
-}
-
-// Wrappers for declarations in link.h
-
-type SndSettleMode C.pn_snd_settle_mode_t
-
-const (
-       PnSndUnsettled SndSettleMode = C.PN_SND_UNSETTLED
-       PnSndSettled   SndSettleMode = C.PN_SND_SETTLED
-       PnSndMixed     SndSettleMode = C.PN_SND_MIXED
-)
-
-func (e SndSettleMode) String() string {
-       switch e {
-
-       case C.PN_SND_UNSETTLED:
-               return "SndUnsettled"
-       case C.PN_SND_SETTLED:
-               return "SndSettled"
-       case C.PN_SND_MIXED:
-               return "SndMixed"
-       }
-       return "unknown"
-}
-
-type RcvSettleMode C.pn_rcv_settle_mode_t
-
-const (
-       PnRcvFirst  RcvSettleMode = C.PN_RCV_FIRST
-       PnRcvSecond RcvSettleMode = C.PN_RCV_SECOND
-)
-
-func (e RcvSettleMode) String() string {
-       switch e {
-
-       case C.PN_RCV_FIRST:
-               return "RcvFirst"
-       case C.PN_RCV_SECOND:
-               return "RcvSecond"
-       }
-       return "unknown"
-}
-
-type Link struct{ pn *C.pn_link_t }
-
-func (l Link) IsNil() bool { return l.pn == nil }
-func (l Link) Free() {
-       C.pn_link_free(l.pn)
-}
-func (l Link) Name() string {
-       return C.GoString(C.pn_link_name(l.pn))
-}
-func (l Link) IsSender() bool {
-       return bool(C.pn_link_is_sender(l.pn))
-}
-func (l Link) IsReceiver() bool {
-       return bool(C.pn_link_is_receiver(l.pn))
-}
-func (l Link) State() State {
-       return State(C.pn_link_state(l.pn))
-}
-func (l Link) Error() error {
-       return internal.PnError(unsafe.Pointer(C.pn_link_error(l.pn)))
-}
-func (l Link) Condition() Condition {
-       return Condition{C.pn_link_condition(l.pn)}
-}
-func (l Link) RemoteCondition() Condition {
-       return Condition{C.pn_link_remote_condition(l.pn)}
-}
-func (l Link) Session() Session {
-       return Session{C.pn_link_session(l.pn)}
-}
-func (l Link) Next(state State) Link {
-       return Link{C.pn_link_next(l.pn, C.pn_state_t(state))}
-}
-func (l Link) Open() {
-       C.pn_link_open(l.pn)
-}
-func (l Link) Close() {
-       C.pn_link_close(l.pn)
-}
-func (l Link) Detach() {
-       C.pn_link_detach(l.pn)
-}
-func (l Link) Source() Terminus {
-       return Terminus{C.pn_link_source(l.pn)}
-}
-func (l Link) Target() Terminus {
-       return Terminus{C.pn_link_target(l.pn)}
-}
-func (l Link) RemoteSource() Terminus {
-       return Terminus{C.pn_link_remote_source(l.pn)}
-}
-func (l Link) RemoteTarget() Terminus {
-       return Terminus{C.pn_link_remote_target(l.pn)}
-}
-func (l Link) Current() Delivery {
-       return Delivery{C.pn_link_current(l.pn)}
-}
-func (l Link) Advance() bool {
-       return bool(C.pn_link_advance(l.pn))
-}
-func (l Link) Credit() int {
-       return int(C.pn_link_credit(l.pn))
-}
-func (l Link) Queued() int {
-       return int(C.pn_link_queued(l.pn))
-}
-func (l Link) RemoteCredit() int {
-       return int(C.pn_link_remote_credit(l.pn))
-}
-func (l Link) IsDrain() bool {
-       return bool(C.pn_link_get_drain(l.pn))
-}
-func (l Link) Drained() int {
-       return int(C.pn_link_drained(l.pn))
-}
-func (l Link) Available() int {
-       return int(C.pn_link_available(l.pn))
-}
-func (l Link) SndSettleMode() SndSettleMode {
-       return SndSettleMode(C.pn_link_snd_settle_mode(l.pn))
-}
-func (l Link) RcvSettleMode() RcvSettleMode {
-       return RcvSettleMode(C.pn_link_rcv_settle_mode(l.pn))
-}
-func (l Link) SetSndSettleMode(mode SndSettleMode) {
-       C.pn_link_set_snd_settle_mode(l.pn, C.pn_snd_settle_mode_t(mode))
-}
-func (l Link) SetRcvSettleMode(mode RcvSettleMode) {
-       C.pn_link_set_rcv_settle_mode(l.pn, C.pn_rcv_settle_mode_t(mode))
-}
-func (l Link) RemoteSndSettleMode() SndSettleMode {
-       return SndSettleMode(C.pn_link_remote_snd_settle_mode(l.pn))
-}
-func (l Link) RemoteRcvSettleMode() RcvSettleMode {
-       return RcvSettleMode(C.pn_link_remote_rcv_settle_mode(l.pn))
-}
-func (l Link) Unsettled() int {
-       return int(C.pn_link_unsettled(l.pn))
-}
-func (l Link) Offered(credit int) {
-       C.pn_link_offered(l.pn, C.int(credit))
-}
-func (l Link) Flow(credit int) {
-       C.pn_link_flow(l.pn, C.int(credit))
-}
-func (l Link) Drain(credit int) {
-       C.pn_link_drain(l.pn, C.int(credit))
-}
-func (l Link) SetDrain(drain bool) {
-       C.pn_link_set_drain(l.pn, C.bool(drain))
-}
-func (l Link) Draining() bool {
-       return bool(C.pn_link_draining(l.pn))
-}
-
-// Wrappers for declarations in delivery.h
-
-type Delivery struct{ pn *C.pn_delivery_t }
-
-func (d Delivery) IsNil() bool { return d.pn == nil }
-func (d Delivery) Tag() DeliveryTag {
-       return DeliveryTag{C.pn_delivery_tag(d.pn)}
-}
-func (d Delivery) Link() Link {
-       return Link{C.pn_delivery_link(d.pn)}
-}
-func (d Delivery) Local() Disposition {
-       return Disposition{C.pn_delivery_local(d.pn)}
-}
-func (d Delivery) LocalState() uint64 {
-       return uint64(C.pn_delivery_local_state(d.pn))
-}
-func (d Delivery) Remote() Disposition {
-       return Disposition{C.pn_delivery_remote(d.pn)}
-}
-func (d Delivery) RemoteState() uint64 {
-       return uint64(C.pn_delivery_remote_state(d.pn))
-}
-func (d Delivery) Settled() bool {
-       return bool(C.pn_delivery_settled(d.pn))
-}
-func (d Delivery) Pending() uint {
-       return uint(C.pn_delivery_pending(d.pn))
-}
-func (d Delivery) Partial() bool {
-       return bool(C.pn_delivery_partial(d.pn))
-}
-func (d Delivery) Writable() bool {
-       return bool(C.pn_delivery_writable(d.pn))
-}
-func (d Delivery) Readable() bool {
-       return bool(C.pn_delivery_readable(d.pn))
-}
-func (d Delivery) Updated() bool {
-       return bool(C.pn_delivery_updated(d.pn))
-}
-func (d Delivery) Update(state uint64) {
-       C.pn_delivery_update(d.pn, C.uint64_t(state))
-}
-func (d Delivery) Clear() {
-       C.pn_delivery_clear(d.pn)
-}
-func (d Delivery) Current() bool {
-       return bool(C.pn_delivery_current(d.pn))
-}
-func (d Delivery) Settle() {
-       C.pn_delivery_settle(d.pn)
-}
-func (d Delivery) Dump() {
-       C.pn_delivery_dump(d.pn)
-}
-func (d Delivery) Buffered() bool {
-       return bool(C.pn_delivery_buffered(d.pn))
-}
-
-// Wrappers for declarations in disposition.h
-
-type Disposition struct{ pn *C.pn_disposition_t }
-
-func (d Disposition) IsNil() bool { return d.pn == nil }
-func (d Disposition) Type() uint64 {
-       return uint64(C.pn_disposition_type(d.pn))
-}
-func (d Disposition) Condition() Condition {
-       return Condition{C.pn_disposition_condition(d.pn)}
-}
-func (d Disposition) Data() Data {
-       return Data{C.pn_disposition_data(d.pn)}
-}
-func (d Disposition) SectionNumber() uint16 {
-       return uint16(C.pn_disposition_get_section_number(d.pn))
-}
-func (d Disposition) SetSectionNumber(section_number uint16) {
-       C.pn_disposition_set_section_number(d.pn, C.uint32_t(section_number))
-}
-func (d Disposition) SectionOffset() uint64 {
-       return uint64(C.pn_disposition_get_section_offset(d.pn))
-}
-func (d Disposition) SetSectionOffset(section_offset uint64) {
-       C.pn_disposition_set_section_offset(d.pn, C.uint64_t(section_offset))
-}
-func (d Disposition) IsFailed() bool {
-       return bool(C.pn_disposition_is_failed(d.pn))
-}
-func (d Disposition) SetFailed(failed bool) {
-       C.pn_disposition_set_failed(d.pn, C.bool(failed))
-}
-func (d Disposition) IsUndeliverable() bool {
-       return bool(C.pn_disposition_is_undeliverable(d.pn))
-}
-func (d Disposition) SetUndeliverable(undeliverable bool) {
-       C.pn_disposition_set_undeliverable(d.pn, C.bool(undeliverable))
-}
-func (d Disposition) Annotations() Data {
-       return Data{C.pn_disposition_annotations(d.pn)}
-}
-
-// Wrappers for declarations in condition.h
-
-type Condition struct{ pn *C.pn_condition_t }
-
-func (c Condition) IsNil() bool { return c.pn == nil }
-func (c Condition) IsSet() bool {
-       return bool(C.pn_condition_is_set(c.pn))
-}
-func (c Condition) Clear() {
-       C.pn_condition_clear(c.pn)
-}
-func (c Condition) Name() string {
-       return C.GoString(C.pn_condition_get_name(c.pn))
-}
-func (c Condition) SetName(name string) int {
-       nameC := C.CString(name)
-       defer C.free(unsafe.Pointer(nameC))
-
-       return int(C.pn_condition_set_name(c.pn, nameC))
-}
-func (c Condition) Description() string {
-       return C.GoString(C.pn_condition_get_description(c.pn))
-}
-func (c Condition) SetDescription(description string) int {
-       descriptionC := C.CString(description)
-       defer C.free(unsafe.Pointer(descriptionC))
-
-       return int(C.pn_condition_set_description(c.pn, descriptionC))
-}
-func (c Condition) Info() Data {
-       return Data{C.pn_condition_info(c.pn)}
-}
-func (c Condition) IsRedirect() bool {
-       return bool(C.pn_condition_is_redirect(c.pn))
-}
-func (c Condition) RedirectHost() string {
-       return C.GoString(C.pn_condition_redirect_host(c.pn))
-}
-func (c Condition) RedirectPort() int {
-       return int(C.pn_condition_redirect_port(c.pn))
-}
-
-// Wrappers for declarations in terminus.h
-
-type TerminusType C.pn_terminus_type_t
-
-const (
-       PnUnspecified TerminusType = C.PN_UNSPECIFIED
-       PnSource      TerminusType = C.PN_SOURCE
-       PnTarget      TerminusType = C.PN_TARGET
-       PnCoordinator TerminusType = C.PN_COORDINATOR
-)
-
-func (e TerminusType) String() string {
-       switch e {
-
-       case C.PN_UNSPECIFIED:
-               return "Unspecified"
-       case C.PN_SOURCE:
-               return "Source"
-       case C.PN_TARGET:
-               return "Target"
-       case C.PN_COORDINATOR:
-               return "Coordinator"
-       }
-       return "unknown"
-}
-
-type Durability C.pn_durability_t
-
-const (
-       PnNondurable    Durability = C.PN_NONDURABLE
-       PnConfiguration Durability = C.PN_CONFIGURATION
-       PnDeliveries    Durability = C.PN_DELIVERIES
-)
-
-func (e Durability) String() string {
-       switch e {
-
-       case C.PN_NONDURABLE:
-               return "Nondurable"
-       case C.PN_CONFIGURATION:
-               return "Configuration"
-       case C.PN_DELIVERIES:
-               return "Deliveries"
-       }
-       return "unknown"
-}
-
-type ExpiryPolicy C.pn_expiry_policy_t
-
-const (
-       PnExpireWithLink       ExpiryPolicy = C.PN_EXPIRE_WITH_LINK
-       PnExpireWithSession    ExpiryPolicy = C.PN_EXPIRE_WITH_SESSION
-       PnExpireWithConnection ExpiryPolicy = C.PN_EXPIRE_WITH_CONNECTION
-       PnExpireNever          ExpiryPolicy = C.PN_EXPIRE_NEVER
-)
-
-func (e ExpiryPolicy) String() string {
-       switch e {
-
-       case C.PN_EXPIRE_WITH_LINK:
-               return "ExpireWithLink"
-       case C.PN_EXPIRE_WITH_SESSION:
-               return "ExpireWithSession"
-       case C.PN_EXPIRE_WITH_CONNECTION:
-               return "ExpireWithConnection"
-       case C.PN_EXPIRE_NEVER:
-               return "ExpireNever"
-       }
-       return "unknown"
-}
-
-type DistributionMode C.pn_distribution_mode_t
-
-const (
-       PnDistModeUnspecified DistributionMode = C.PN_DIST_MODE_UNSPECIFIED
-       PnDistModeCopy        DistributionMode = C.PN_DIST_MODE_COPY
-       PnDistModeMove        DistributionMode = C.PN_DIST_MODE_MOVE
-)
-
-func (e DistributionMode) String() string {
-       switch e {
-
-       case C.PN_DIST_MODE_UNSPECIFIED:
-               return "DistModeUnspecified"
-       case C.PN_DIST_MODE_COPY:
-               return "DistModeCopy"
-       case C.PN_DIST_MODE_MOVE:
-               return "DistModeMove"
-       }
-       return "unknown"
-}
-
-type Terminus struct{ pn *C.pn_terminus_t }
-
-func (t Terminus) IsNil() bool { return t.pn == nil }
-func (t Terminus) Type() TerminusType {
-       return TerminusType(C.pn_terminus_get_type(t.pn))
-}
-func (t Terminus) SetType(type_ TerminusType) int {
-       return int(C.pn_terminus_set_type(t.pn, C.pn_terminus_type_t(type_)))
-}
-func (t Terminus) Address() string {
-       return C.GoString(C.pn_terminus_get_address(t.pn))
-}
-func (t Terminus) SetAddress(address string) int {
-       addressC := C.CString(address)
-       defer C.free(unsafe.Pointer(addressC))
-
-       return int(C.pn_terminus_set_address(t.pn, addressC))
-}
-func (t Terminus) SetDistributionMode(mode DistributionMode) int {
-       return int(C.pn_terminus_set_distribution_mode(t.pn, 
C.pn_distribution_mode_t(mode)))
-}
-func (t Terminus) Durability() Durability {
-       return Durability(C.pn_terminus_get_durability(t.pn))
-}
-func (t Terminus) SetDurability(durability Durability) int {
-       return int(C.pn_terminus_set_durability(t.pn, 
C.pn_durability_t(durability)))
-}
-func (t Terminus) ExpiryPolicy() ExpiryPolicy {
-       return ExpiryPolicy(C.pn_terminus_get_expiry_policy(t.pn))
-}
-func (t Terminus) SetExpiryPolicy(policy ExpiryPolicy) int {
-       return int(C.pn_terminus_set_expiry_policy(t.pn, 
C.pn_expiry_policy_t(policy)))
-}
-func (t Terminus) Timeout() time.Duration {
-       return (time.Duration(C.pn_terminus_get_timeout(t.pn)) * time.Second)
-}
-func (t Terminus) SetTimeout(timeout time.Duration) int {
-       return int(C.pn_terminus_set_timeout(t.pn, C.pn_seconds_t(timeout)))
-}
-func (t Terminus) IsDynamic() bool {
-       return bool(C.pn_terminus_is_dynamic(t.pn))
-}
-func (t Terminus) SetDynamic(dynamic bool) int {
-       return int(C.pn_terminus_set_dynamic(t.pn, C.bool(dynamic)))
-}
-func (t Terminus) Properties() Data {
-       return Data{C.pn_terminus_properties(t.pn)}
-}
-func (t Terminus) Capabilities() Data {
-       return Data{C.pn_terminus_capabilities(t.pn)}
-}
-func (t Terminus) Outcomes() Data {
-       return Data{C.pn_terminus_outcomes(t.pn)}
-}
-func (t Terminus) Filter() Data {
-       return Data{C.pn_terminus_filter(t.pn)}
-}
-func (t Terminus) Copy(src Terminus) int {
-       return int(C.pn_terminus_copy(t.pn, src.pn))
-}
-
-// Wrappers for declarations in connection.h
-
-type Connection struct{ pn *C.pn_connection_t }
-
-func (c Connection) IsNil() bool { return c.pn == nil }
-func (c Connection) Free() {
-       C.pn_connection_free(c.pn)
-}
-func (c Connection) Release() {
-       C.pn_connection_release(c.pn)
-}
-func (c Connection) Error() error {
-       return internal.PnError(unsafe.Pointer(C.pn_connection_error(c.pn)))
-}
-func (c Connection) State() State {
-       return State(C.pn_connection_state(c.pn))
-}
-func (c Connection) Open() {
-       C.pn_connection_open(c.pn)
-}
-func (c Connection) Close() {
-       C.pn_connection_close(c.pn)
-}
-func (c Connection) Reset() {
-       C.pn_connection_reset(c.pn)
-}
-func (c Connection) Condition() Condition {
-       return Condition{C.pn_connection_condition(c.pn)}
-}
-func (c Connection) RemoteCondition() Condition {
-       return Condition{C.pn_connection_remote_condition(c.pn)}
-}
-func (c Connection) Container() string {
-       return C.GoString(C.pn_connection_get_container(c.pn))
-}
-func (c Connection) SetContainer(container string) {
-       containerC := C.CString(container)
-       defer C.free(unsafe.Pointer(containerC))
-
-       C.pn_connection_set_container(c.pn, containerC)
-}
-func (c Connection) SetUser(user string) {
-       userC := C.CString(user)
-       defer C.free(unsafe.Pointer(userC))
-
-       C.pn_connection_set_user(c.pn, userC)
-}
-func (c Connection) SetPassword(password string) {
-       passwordC := C.CString(password)
-       defer C.free(unsafe.Pointer(passwordC))
-
-       C.pn_connection_set_password(c.pn, passwordC)
-}
-func (c Connection) User() string {
-       return C.GoString(C.pn_connection_get_user(c.pn))
-}
-func (c Connection) Hostname() string {
-       return C.GoString(C.pn_connection_get_hostname(c.pn))
-}
-func (c Connection) SetHostname(hostname string) {
-       hostnameC := C.CString(hostname)
-       defer C.free(unsafe.Pointer(hostnameC))
-
-       C.pn_connection_set_hostname(c.pn, hostnameC)
-}
-func (c Connection) RemoteContainer() string {
-       return C.GoString(C.pn_connection_remote_container(c.pn))
-}
-func (c Connection) RemoteHostname() string {
-       return C.GoString(C.pn_connection_remote_hostname(c.pn))
-}
-func (c Connection) OfferedCapabilities() Data {
-       return Data{C.pn_connection_offered_capabilities(c.pn)}
-}
-func (c Connection) DesiredCapabilities() Data {
-       return Data{C.pn_connection_desired_capabilities(c.pn)}
-}
-func (c Connection) Properties() Data {
-       return Data{C.pn_connection_properties(c.pn)}
-}
-func (c Connection) RemoteOfferedCapabilities() Data {
-       return Data{C.pn_connection_remote_offered_capabilities(c.pn)}
-}
-func (c Connection) RemoteDesiredCapabilities() Data {
-       return Data{C.pn_connection_remote_desired_capabilities(c.pn)}
-}
-func (c Connection) RemoteProperties() Data {
-       return Data{C.pn_connection_remote_properties(c.pn)}
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/639bed99/proton-c/bindings/go/internal/error.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/internal/error.go 
b/proton-c/bindings/go/internal/error.go
deleted file mode 100644
index 01ba890..0000000
--- a/proton-c/bindings/go/internal/error.go
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
-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.
-*/
-
-// Internal implementation details - ignore.
-package internal
-
-// #cgo LDFLAGS: -lqpid-proton
-// #include <proton/error.h>
-// #include <proton/codec.h>
-import "C"
-
-import (
-       "fmt"
-       "runtime"
-       "sync"
-       "sync/atomic"
-       "unsafe"
-)
-
-// Error type for all proton errors.
-type Error string
-
-// Error prefixes error message with proton:
-func (e Error) Error() string {
-       return "proton: " + string(e)
-}
-
-// Errorf creates an Error with a formatted message
-func Errorf(format string, a ...interface{}) Error {
-       return Error(fmt.Sprintf(format, a...))
-}
-
-type PnErrorCode int
-
-func (e PnErrorCode) String() string {
-       switch e {
-       case C.PN_EOS:
-               return "end-of-data"
-       case C.PN_ERR:
-               return "error"
-       case C.PN_OVERFLOW:
-               return "overflow"
-       case C.PN_UNDERFLOW:
-               return "underflow"
-       case C.PN_STATE_ERR:
-               return "bad-state"
-       case C.PN_ARG_ERR:
-               return "invalid-argument"
-       case C.PN_TIMEOUT:
-               return "timeout"
-       case C.PN_INTR:
-               return "interrupted"
-       case C.PN_INPROGRESS:
-               return "in-progress"
-       default:
-               return fmt.Sprintf("unknown-error(%d)", e)
-       }
-}
-
-func PnError(p unsafe.Pointer) error {
-       e := (*C.pn_error_t)(p)
-       if e == nil || C.pn_error_code(e) == 0 {
-               return nil
-       }
-       return Errorf("%s: %s", PnErrorCode(C.pn_error_code(e)), 
C.GoString(C.pn_error_text(e)))
-}
-
-// DoRecover is called to recover from internal panics
-func DoRecover(err *error) {
-       r := recover()
-       switch r := r.(type) {
-       case nil: // We are not recovering
-               return
-       case runtime.Error: // Don't catch runtime.Error
-               panic(r)
-       case error:
-               *err = r
-       default:
-               panic(r)
-       }
-}
-
-// panicIf panics if condition is true, the panic value is Errorf(fmt, args...)
-func panicIf(condition bool, fmt string, args ...interface{}) {
-       if condition {
-               panic(Errorf(fmt, args...))
-       }
-}
-
-// FirstError is a goroutine-safe error holder that keeps the first error that 
is set.
-type FirstError struct {
-       err  atomic.Value
-       once sync.Once
-}
-
-// Set the error if not allread set.
-func (e *FirstError) Set(err error) {
-       e.once.Do(func() { e.err.Store(err) })
-}
-
-// Get the error.
-func (e *FirstError) Get() error {
-       v := e.err.Load()
-       if v != nil {
-               return v.(error)
-       } else {
-               return nil
-       }
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/639bed99/proton-c/bindings/go/messaging/doc.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/messaging/doc.go 
b/proton-c/bindings/go/messaging/doc.go
deleted file mode 100644
index c815f4e..0000000
--- a/proton-c/bindings/go/messaging/doc.go
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-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.
-*/
-
-/*
-Package messaging provides a procedural, concurrent Go API for exchanging AMQP 
messages.
-*/
-package messaging
-
-// #cgo LDFLAGS: -lqpid-proton
-import "C"
-
-// Just for package comment

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/639bed99/proton-c/bindings/go/messaging/handler.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/messaging/handler.go 
b/proton-c/bindings/go/messaging/handler.go
deleted file mode 100644
index 4a97b9d..0000000
--- a/proton-c/bindings/go/messaging/handler.go
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-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.
-*/
-
-package messaging
-
-import (
-       "qpid.apache.org/proton/go/amqp"
-       "qpid.apache.org/proton/go/event"
-)
-
-// FIXME aconway 2015-04-28: cleanup - exposing delivery vs. disposition.
-
-type acksMap map[event.Delivery]chan Disposition
-type receiverMap map[event.Link]chan amqp.Message
-
-type handler struct {
-       connection *Connection
-       acks       acksMap
-       receivers  receiverMap
-}
-
-func newHandler(c *Connection) *handler {
-       return &handler{c, make(acksMap), make(receiverMap)}
-}
-
-func (h *handler) HandleMessagingEvent(t event.MessagingEventType, e 
event.Event) error {
-       switch t {
-       // FIXME aconway 2015-04-29: handle errors.
-       case event.MConnectionClosed:
-               for _, ack := range h.acks {
-                       // FIXME aconway 2015-04-29: communicate error info
-                       close(ack)
-               }
-
-       case event.MSettled:
-               ack := h.acks[e.Delivery()]
-               if ack != nil {
-                       ack <- Disposition(e.Delivery().Remote().Type())
-                       close(ack)
-                       delete(h.acks, e.Delivery())
-               }
-
-       case event.MMessage:
-               r := h.receivers[e.Link()]
-               if r != nil {
-                       m, _ := event.DecodeMessage(e)
-                       // FIXME aconway 2015-04-29: hack, direct send, 
possible blocking.
-                       r <- m
-               } else {
-                       // FIXME aconway 2015-04-29: Message with no receiver - 
log? panic? deadletter? drop?
-               }
-       }
-       return nil
-}

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/639bed99/proton-c/bindings/go/messaging/messaging.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/messaging/messaging.go 
b/proton-c/bindings/go/messaging/messaging.go
deleted file mode 100644
index e653de2..0000000
--- a/proton-c/bindings/go/messaging/messaging.go
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
-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.
-*/
-
-package messaging
-
-// #include <proton/disposition.h>
-import "C"
-
-import (
-       "net"
-       "qpid.apache.org/proton/go/amqp"
-       "qpid.apache.org/proton/go/event"
-)
-
-// Connection is a connection to a remote AMQP endpoint.
-//
-// You can set exported fields to configure the connection before calling
-// Connection.Open()
-//
-type Connection struct {
-       // Server = true means a the connection will do automatic protocol 
detection.
-       Server bool
-
-       // FIXME aconway 2015-04-17: Other parameters to set up SSL, SASL etc.
-
-       handler *handler
-       pump    *event.Pump
-       session Session
-}
-
-// Make an AMQP connection over a net.Conn connection.
-//
-// Use Connection.Close() to close the Connection, this will also close conn.
-// Using conn.Close() directly will cause an abrupt disconnect rather than an
-// orderly AMQP close.
-//
-func (c *Connection) Open(conn net.Conn) (err error) {
-       c.handler = newHandler(c)
-       c.pump, err = event.NewPump(conn,
-               event.NewMessagingDelegator(c.handler),
-       )
-       if err != nil {
-               return err
-       }
-       if c.Server {
-               c.pump.Server()
-       }
-       go c.pump.Run()
-       return nil
-}
-
-// Connect opens a default client connection. It is a shortcut for
-//    c := &Connection
-//    c.Open()
-//
-func Connect(conn net.Conn) (*Connection, error) {
-       c := &Connection{}
-       err := c.Open(conn)
-       return c, err
-}
-
-// Close the connection.
-//
-// Connections must be closed to clean up resources and stop associated 
goroutines.
-func (c *Connection) Close() error { return c.pump.Close() }
-
-// DefaultSession returns a default session for the connection.
-//
-// It is created on the first call to DefaultSession() and returned from all 
subsequent calls.
-// Use Session() for more control over creating sessions.
-//
-func (c *Connection) DefaultSession() (s Session, err error) {
-       if c.session.e.IsNil() {
-               c.session, err = c.Session()
-       }
-       return c.session, err
-}
-
-type sessionErr struct {
-       s   event.Session
-       err error
-}
-
-// Session creates a new session.
-func (c *Connection) Session() (Session, error) {
-       connection := c.pump.Connection()
-       result := make(chan sessionErr)
-       c.pump.Inject <- func() {
-               s, err := connection.Session()
-               if err == nil {
-                       s.Open()
-               }
-               result <- sessionErr{s, err}
-       }
-       se := <-result
-       return Session{se.s, c.pump}, se.err
-}
-
-// FIXME aconway 2015-04-27: set sender name, options etc.
-
-// Sender creates a Sender that will send messages to the address addr.
-func (c *Connection) Sender(addr string) (s Sender, err error) {
-       session, err := c.DefaultSession()
-       if err != nil {
-               return Sender{}, err
-       }
-       result := make(chan Sender)
-       c.pump.Inject <- func() {
-               link := session.e.Sender(linkNames.Next())
-               if link.IsNil() {
-                       err = session.e.Error()
-               } else {
-                       link.Target().SetAddress(addr)
-                       // FIXME aconway 2015-04-27: link options?
-                       link.Open()
-               }
-               result <- Sender{Link{c, link}}
-       }
-       return <-result, err
-}
-
-// Receiver returns a receiver that will receive messages sent to address addr.
-func (c *Connection) Receiver(addr string) (r Receiver, err error) {
-       // FIXME aconway 2015-04-29: move code to session, in link.go?
-       session, err := c.DefaultSession()
-       if err != nil {
-               return Receiver{}, err
-       }
-       result := make(chan Receiver)
-       c.pump.Inject <- func() {
-               link := session.e.Receiver(linkNames.Next())
-               if link.IsNil() {
-                       err = session.e.Error()
-               } else {
-                       link.Source().SetAddress(addr)
-                       // FIXME aconway 2015-04-27: link options?
-                       link.Open()
-               }
-               // FIXME aconway 2015-04-29: hack to avoid blocking, need 
proper buffering linked to flow control
-               rchan := make(chan amqp.Message, 1000)
-               c.handler.receivers[link] = rchan
-               result <- Receiver{Link{c, link}, rchan}
-       }
-       return <-result, err
-}
-
-// FIXME aconway 2015-04-29: counter per session.
-var linkNames amqp.UidCounter
-
-// Session is an AMQP session, it contains Senders and Receivers.
-// Every Connection has a DefaultSession, you can create additional sessions
-// with Connection.Session()
-type Session struct {
-       e    event.Session
-       pump *event.Pump
-}
-
-// FIXME aconway 2015-05-05: REWORK Sender/receiver/session.
-
-// Disposition indicates the outcome of a settled message delivery.
-type Disposition uint64
-
-const (
-       // Message was accepted by the receiver
-       Accepted Disposition = C.PN_ACCEPTED
-       // Message was rejected as invalid by the receiver
-       Rejected = C.PN_REJECTED
-       // Message was not processed by the receiver but may be processed by 
some other receiver.
-       Released = C.PN_RELEASED
-)
-
-// String human readable name for a Disposition.
-func (d Disposition) String() string {
-       switch d {
-       case Accepted:
-               return "Accepted"
-       case Rejected:
-               return "Rejected"
-       case Released:
-               return "Released"
-       default:
-               return "Unknown"
-       }
-}
-
-// FIXME aconway 2015-04-29: How to signal errors via ack channels.
-
-// An Acknowledgement is a channel which will receive the Disposition of the 
message
-// when it is acknowledged. The channel is closed after the disposition is 
sent.
-type Acknowledgement <-chan Disposition
-
-// Link has common data and methods for Sender and Receiver links.
-type Link struct {
-       connection *Connection
-       elink      event.Link
-}
-
-// Sender sends messages.
-type Sender struct {
-       Link
-}
-
-// FIXME aconway 2015-04-28: allow user to specify delivery tag.
-// FIXME aconway 2015-04-28: should we provide a sending channel rather than a 
send function?
-
-// Send sends a message. If d is not nil, the disposition is retured on d.
-// If d is nil the message is sent pre-settled and no disposition is returned.
-func (s *Sender) Send(m amqp.Message) (ack Acknowledgement, err error) {
-       ackChan := make(chan Disposition, 1)
-       ack = ackChan
-       s.connection.pump.Inject <- func() {
-               // FIXME aconway 2015-04-28: flow control & credit, buffer or 
fail?
-               delivery, err := s.elink.Send(m)
-               if err == nil { // FIXME aconway 2015-04-28: error handling
-                       s.connection.handler.acks[delivery] = ackChan
-               }
-       }
-       return ack, nil
-}
-
-// Close the sender.
-func (s *Sender) Close() error { return nil } // FIXME aconway 2015-04-27: 
close/free
-
-// Receiver receives messages via the channel Receive.
-type Receiver struct {
-       Link
-       // Channel of messag
-       Receive <-chan amqp.Message
-}
-
-// FIXME aconway 2015-04-29: settlement - ReceivedMessage with Settle() method?
-
-// Close the Receiver.
-func (r *Receiver) Close() error { return nil } // FIXME aconway 2015-04-29: 
close/free


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to