X-Git-Url: https://git.realraum.at/?p=svn42.git;a=blobdiff_plain;f=go%2Fr3-eventbroker_zmq%2Fr3events%2Fmarshal_events.go;h=dd23d533a69a7e72969bd50283308e904159f62f;hp=d00d4623434c5042ab9005266373eaa471166c29;hb=ff98cdc53bc87b9d4f3215df248c188a84cb2fb1;hpb=2416b163f05370fcffb2f62bea000265d10aac42 diff --git a/go/r3-eventbroker_zmq/r3events/marshal_events.go b/go/r3-eventbroker_zmq/r3events/marshal_events.go index d00d462..dd23d53 100644 --- a/go/r3-eventbroker_zmq/r3events/marshal_events.go +++ b/go/r3-eventbroker_zmq/r3events/marshal_events.go @@ -9,17 +9,20 @@ import ( "strings" ) +func NameOfStruct(evi interface{}) (name string) { + etype := fmt.Sprintf("%T", evi) + etype_lastsep := strings.LastIndex(etype,".") + return etype[etype_lastsep+1:] //works in all cases for etype_lastsep in range -1 to len(etype)-1 +} func MarshalEvent2ByteByte(event_interface interface{}) (data [][]byte, err error) { var msg []byte - fmt.Printf("%T%+v\n", event_interface, event_interface) + //~ fmt.Printf("%T%+v\n", event_interface, event_interface) msg, err = json.Marshal(event_interface) if err != nil { return } - etype := fmt.Sprintf("%T", event_interface) - etype_lastsep := strings.LastIndex(etype,".") - data = [][]byte{[]byte(etype[etype_lastsep+1:]), msg} //works in all cases for etype_lastsep in range -1 to len(etype)-1 + data = [][]byte{[]byte(NameOfStruct(event_interface)), msg} //works in all cases for etype_lastsep in range -1 to len(etype)-1 return }