PROTON-827: go binding: rename distinct Handler functions so types can 
implement more than one interface.


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/49335b73
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/49335b73
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/49335b73

Branch: refs/heads/rajith-codec
Commit: 49335b73f4f23f154a3ac439cbf52a14a66099a7
Parents: 6dd8084
Author: Alan Conway <[email protected]>
Authored: Wed May 6 12:52:04 2015 -0400
Committer: Alan Conway <[email protected]>
Committed: Wed May 6 17:04:27 2015 -0400

----------------------------------------------------------------------
 examples/go/event/broker.go                     |  4 +-
 .../qpid.apache.org/proton/event/handlers.go    | 60 ++++++++++----------
 .../go/src/qpid.apache.org/proton/event/pump.go |  4 +-
 .../qpid.apache.org/proton/messaging/handler.go |  2 +-
 4 files changed, 36 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/49335b73/examples/go/event/broker.go
----------------------------------------------------------------------
diff --git a/examples/go/event/broker.go b/examples/go/event/broker.go
index 8b227bc..1c963e3 100644
--- a/examples/go/event/broker.go
+++ b/examples/go/event/broker.go
@@ -157,9 +157,9 @@ func (b *broker) unsubscribe(l event.Link) {
        }
 }
 
-func (b *broker) Handle(t event.MessagingEventType, e event.Event) error {
+func (b *broker) HandleMessagingEvent(t event.MessagingEventType, e 
event.Event) error {
        // FIXME aconway 2015-05-04: locking is un-golike, better example 
coming soon.
-       // Needed because Handle is called for multiple connections concurrently
+       // Needed because the same handler is used for multiple connections 
concurrently
        // and the queue data structures are not thread safe.
        b.lock.Lock()
        defer b.lock.Unlock()

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/49335b73/proton-c/bindings/go/src/qpid.apache.org/proton/event/handlers.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/src/qpid.apache.org/proton/event/handlers.go 
b/proton-c/bindings/go/src/qpid.apache.org/proton/event/handlers.go
index a9e1468..450a114 100644
--- a/proton-c/bindings/go/src/qpid.apache.org/proton/event/handlers.go
+++ b/proton-c/bindings/go/src/qpid.apache.org/proton/event/handlers.go
@@ -29,9 +29,9 @@ import (
 
 // CoreHandler handles core proton events.
 type CoreHandler interface {
-       // Handle is called with an event.
-       // Typically Handle() is implemented as a switch on e.Type()
-       Handle(e Event) error
+       // HandleEvent is called with an event.
+       // Typically HandleEvent() is implemented as a switch on e.Type()
+       HandleEvent(e Event) error
 }
 
 // cHandler wraps a C pn_handler_t
@@ -39,19 +39,19 @@ type cHandler struct {
        pn *C.pn_handler_t
 }
 
-func (h cHandler) Handle(e Event) error {
+func (h cHandler) HandleEvent(e Event) error {
        C.pn_handler_dispatch(h.pn, e.pn, C.pn_event_type(e.pn))
        return nil // FIXME aconway 2015-03-31: error handling
 }
 
-// MessagingHandler provides an alternative interface to CoreHandler,
+// MessagingHandler provides an alternative interface to CoreHandler.
 // it is easier to use for most applications that send and receive messages.
 //
 // Implement this interface and then wrap your value with a 
MessagingHandlerDelegator.
 // MessagingHandlerDelegator implements CoreHandler and can be registered with 
a Pump.
 //
 type MessagingHandler interface {
-       Handle(MessagingEventType, Event) error
+       HandleMessagingEvent(MessagingEventType, Event) error
 }
 
 // MessagingEventType provides a set of events that are easier to work with 
than the
@@ -188,6 +188,8 @@ func (t MessagingEventType) String() string {
        }
 }
 
+// ResourceHandler provides a simple way to track the creation and deletion of
+// various proton objects.
 // endpointDelegator captures common patterns for endpoints opening/closing
 type endpointDelegator struct {
        remoteOpen, remoteClose, localOpen, localClose EventType
@@ -196,8 +198,8 @@ type endpointDelegator struct {
        delegate                                       MessagingHandler
 }
 
-// Handle handles an open/close event for an endpoint in a generic way.
-func (d endpointDelegator) Handle(e Event) (err error) {
+// HandleEvent handles an open/close event for an endpoint in a generic way.
+func (d endpointDelegator) HandleEvent(e Event) (err error) {
        endpoint := d.endpoint(e)
        state := endpoint.State()
 
@@ -205,15 +207,15 @@ func (d endpointDelegator) Handle(e Event) (err error) {
 
        case d.localOpen:
                if state.Is(SRemoteActive) {
-                       err = d.delegate.Handle(d.opened, e)
+                       err = d.delegate.HandleMessagingEvent(d.opened, e)
                }
 
        case d.remoteOpen:
                switch {
                case state.Is(SLocalActive):
-                       err = d.delegate.Handle(d.opened, e)
+                       err = d.delegate.HandleMessagingEvent(d.opened, e)
                case state.Is(SLocalUninit):
-                       err = d.delegate.Handle(d.opening, e)
+                       err = d.delegate.HandleMessagingEvent(d.opening, e)
                        if err == nil {
                                endpoint.Open()
                        }
@@ -222,15 +224,15 @@ func (d endpointDelegator) Handle(e Event) (err error) {
        case d.remoteClose:
                var err1 error
                if endpoint.RemoteCondition().IsSet() {
-                       err1 = d.delegate.Handle(d.error, e)
+                       err1 = d.delegate.HandleMessagingEvent(d.error, e)
                        if err1 == nil {
                                err1 = endpoint.RemoteCondition().Error()
                        }
                }
                if state.Is(SLocalClosed) {
-                       err = d.delegate.Handle(d.closed, e)
+                       err = d.delegate.HandleMessagingEvent(d.closed, e)
                } else {
-                       err = d.delegate.Handle(d.closing, e)
+                       err = d.delegate.HandleMessagingEvent(d.closing, e)
                        endpoint.Close()
                }
                if err1 != nil {
@@ -239,7 +241,7 @@ func (d endpointDelegator) Handle(e Event) (err error) {
 
        case d.localClose:
                if state.Is(SRemoteClosed) {
-                       err = d.delegate.Handle(d.closed, e)
+                       err = d.delegate.HandleMessagingEvent(d.closed, e)
                }
 
        default:
@@ -303,32 +305,32 @@ func NewMessagingDelegator(h MessagingHandler) 
CoreHandler {
 
 func handleIf(h CoreHandler, e Event) error {
        if h != nil {
-               return h.Handle(e)
+               return h.HandleEvent(e)
        }
        return nil
 }
 
-func (d *MessagingDelegator) Handle(e Event) error {
+func (d *MessagingDelegator) HandleEvent(e Event) error {
        handleIf(d.flowcontroller, e) // FIXME aconway 2015-03-31: error 
handling.
 
        switch e.Type() {
 
        case EConnectionInit:
                d.flowcontroller = 
cHandler{C.pn_flowcontroller(C.int(d.Prefetch))}
-               d.delegate.Handle(MStart, e)
+               d.delegate.HandleMessagingEvent(MStart, e)
 
        case EConnectionRemoteOpen, EConnectionRemoteClose, 
EConnectionLocalOpen, EConnectionLocalClose:
-               return d.connection.Handle(e)
+               return d.connection.HandleEvent(e)
 
        case ESessionRemoteOpen, ESessionRemoteClose, ESessionLocalOpen, 
ESessionLocalClose:
-               return d.session.Handle(e)
+               return d.session.HandleEvent(e)
 
        case ELinkRemoteOpen, ELinkRemoteClose, ELinkLocalOpen, ELinkLocalClose:
-               return d.link.Handle(e)
+               return d.link.HandleEvent(e)
 
        case ELinkFlow:
                if e.Link().IsSender() && e.Link().Credit() > 0 {
-                       return d.delegate.Handle(MSendable, e)
+                       return d.delegate.HandleMessagingEvent(MSendable, e)
                }
 
        case EDelivery:
@@ -339,7 +341,7 @@ func (d *MessagingDelegator) Handle(e Event) error {
                }
 
        case ETransportTailClosed:
-               d.delegate.Handle(MDisconnected, e)
+               d.delegate.HandleMessagingEvent(MDisconnected, e)
        }
        return nil
 }
@@ -353,7 +355,7 @@ func (d *MessagingDelegator) incoming(e Event) (err error) {
                                delivery.Release(false)
                        }
                } else {
-                       err = d.delegate.Handle(MMessage, e)
+                       err = d.delegate.HandleMessagingEvent(MMessage, e)
                        e.Link().Advance()
                        if d.AutoAccept && !delivery.Settled() {
                                if err == nil {
@@ -364,7 +366,7 @@ func (d *MessagingDelegator) incoming(e Event) (err error) {
                        }
                }
        } else if delivery.Updated() && delivery.Settled() {
-               err = d.delegate.Handle(MSettled, e)
+               err = d.delegate.HandleMessagingEvent(MSettled, e)
        }
        return
 }
@@ -374,14 +376,14 @@ func (d *MessagingDelegator) outgoing(e Event) (err 
error) {
        if delivery.Updated() {
                switch delivery.Remote().Type() {
                case Accepted:
-                       err = d.delegate.Handle(MAccepted, e)
+                       err = d.delegate.HandleMessagingEvent(MAccepted, e)
                case Rejected:
-                       err = d.delegate.Handle(MRejected, e)
+                       err = d.delegate.HandleMessagingEvent(MRejected, e)
                case Released, Modified:
-                       err = d.delegate.Handle(MReleased, e)
+                       err = d.delegate.HandleMessagingEvent(MReleased, e)
                }
                if err == nil && delivery.Settled() {
-                       err = d.delegate.Handle(MSettled, e)
+                       err = d.delegate.HandleMessagingEvent(MSettled, e)
                }
                if err == nil && d.AutoSettle {
                        delivery.Settle()

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/49335b73/proton-c/bindings/go/src/qpid.apache.org/proton/event/pump.go
----------------------------------------------------------------------
diff --git a/proton-c/bindings/go/src/qpid.apache.org/proton/event/pump.go 
b/proton-c/bindings/go/src/qpid.apache.org/proton/event/pump.go
index 480c994..564ca6c 100644
--- a/proton-c/bindings/go/src/qpid.apache.org/proton/event/pump.go
+++ b/proton-c/bindings/go/src/qpid.apache.org/proton/event/pump.go
@@ -73,7 +73,7 @@ connections concurrently.
 
 Methods in this package can only be called in the goroutine that executes the
 corresponding Pump.Run(). You implement the CoreHandler or MessagingHandler
-interfaces and provide those values to NewPump(). Their Handle method will be
+interfaces and provide those values to NewPump(). Their HandleEvent method 
will be
 called in the Pump goroutine, in typical event-driven style.
 
 Handlers can pass values from an event (Connections, Links, Deliveries etc.) to
@@ -331,7 +331,7 @@ func (p *Pump) push(buf []byte) {
 
 func (p *Pump) handle(e Event) error {
        for _, h := range p.handlers {
-               if err := h.Handle(e); err != nil {
+               if err := h.HandleEvent(e); err != nil {
                        return err
                }
        }

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/49335b73/proton-c/bindings/go/src/qpid.apache.org/proton/messaging/handler.go
----------------------------------------------------------------------
diff --git 
a/proton-c/bindings/go/src/qpid.apache.org/proton/messaging/handler.go 
b/proton-c/bindings/go/src/qpid.apache.org/proton/messaging/handler.go
index e0d9d7e..514f0cf 100644
--- a/proton-c/bindings/go/src/qpid.apache.org/proton/messaging/handler.go
+++ b/proton-c/bindings/go/src/qpid.apache.org/proton/messaging/handler.go
@@ -39,7 +39,7 @@ func newHandler(c *Connection) *handler {
        return &handler{c, make(acksMap), make(receiverMap)}
 }
 
-func (h *handler) Handle(t event.MessagingEventType, e event.Event) error {
+func (h *handler) HandleMessagingEvent(t event.MessagingEventType, e 
event.Event) error {
        switch t {
        // FIXME aconway 2015-04-29: handle errors.
        case event.MConnectionClosed:


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

Reply via email to