From c4fe9d50bf6cfadb190cffc2df511935040e3d47 Mon Sep 17 00:00:00 2001 From: woodsaj Date: Sun, 8 Feb 2015 18:13:32 +0800 Subject: [PATCH] correctly handle event being a ptr Events are passed in as PTRs, so we need to de-reference when getting the type and value. --- pkg/events/events.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/events/events.go b/pkg/events/events.go index 9101a9236e3..2477bbef13e 100644 --- a/pkg/events/events.go +++ b/pkg/events/events.go @@ -32,7 +32,7 @@ type EventBase interface { } func ToOnWriteEvent(event interface{}) (*OnTheWireEvent, error) { - eventType := reflect.TypeOf(event) + eventType := reflect.TypeOf(event).Elem() wireEvent := OnTheWireEvent{ Priority: PRIO_INFO, @@ -40,7 +40,7 @@ func ToOnWriteEvent(event interface{}) (*OnTheWireEvent, error) { Payload: event, } - baseField := reflect.ValueOf(event).FieldByName("Timestamp") + baseField := reflect.Indirect(reflect.ValueOf(event)).FieldByName("Timestamp") if baseField.IsValid() { wireEvent.Timestamp = baseField.Interface().(time.Time) } else {