@@ -176,12 +176,12 @@ import(
176176
177177//Header is the {{ .Package }} Header type
178178type Header struct {
179- quickfix.Header
179+ * quickfix.Header
180180}
181181
182182//NewHeader returns a new, initialized Header instance
183- func NewHeader() (h Header) {
184- h.Init()
183+ func NewHeader(header *quickfix.Header ) (h Header) {
184+ h.Header = header
185185 h.SetBeginString("{{ beginString .FIXSpec }}")
186186 return
187187}
@@ -211,7 +211,7 @@ import(
211211
212212//Trailer is the {{ .Package }} Trailer type
213213type Trailer struct {
214- quickfix.Trailer
214+ * quickfix.Trailer
215215}
216216
217217{{ template "setters" .}}
@@ -225,7 +225,6 @@ type Trailer struct {
225225package {{ .Package }}
226226
227227import(
228- "time"
229228 {{- range collectExtraImports .MessageDef }}
230229 "{{ . }}"
231230 {{- end }}
@@ -242,38 +241,33 @@ import(
242241//{{ .Name }} is the {{ .FIXPackage }} {{ .Name }} type, MsgType = {{ .MsgType }}
243242type {{ .Name }} struct {
244243 {{ .TransportPackage }}.Header
245- quickfix.Body
244+ * quickfix.Body
246245 {{ .TransportPackage }}.Trailer
247- //ReceiveTime is the time that this message was read from the socket connection
248- ReceiveTime time.Time
246+ Message *quickfix.Message
249247}
250248
251249//FromMessage creates a {{ .Name }} from a quickfix.Message instance
252- func FromMessage(m quickfix.Message) {{ .Name }} {
250+ func FromMessage(m * quickfix.Message) {{ .Name }} {
253251 return {{ .Name }}{
254- Header: {{ .TransportPackage }}.Header{ Header: m.Header },
255- Body: m.Body,
256- Trailer: {{ .TransportPackage }}.Trailer{ Trailer: m.Trailer },
257- ReceiveTime : m.ReceiveTime ,
252+ Header: {{ .TransportPackage}}.Header{& m.Header},
253+ Body: & m.Body,
254+ Trailer: {{ .TransportPackage}}.Trailer{& m.Trailer},
255+ Message : m,
258256 }
259257}
260258
261259//ToMessage returns a quickfix.Message instance
262- func (m {{ .Name }}) ToMessage() quickfix.Message {
263- return quickfix.Message {
264- Header: m.Header.Header,
265- Body: m.Body,
266- Trailer: m.Trailer.Trailer,
267- ReceiveTime: m.ReceiveTime,
268- }
260+ func (m {{ .Name }}) ToMessage() *quickfix.Message {
261+ return m.Message
269262}
270263
271264{{ $required_fields := requiredFields .MessageDef -}}
272265//New returns a {{ .Name }} initialized with the required fields for {{ .Name }}
273266func New({{template "field_args" $required_fields }}) (m {{ .Name }}) {
274- m.Header = {{ .TransportPackage }}.NewHeader()
275- m.Init()
276- m.Trailer.Init()
267+ m.Message = quickfix.NewMessage()
268+ m.Header = {{ .TransportPackage }}.NewHeader(&m.Message.Header)
269+ m.Body = &m.Message.Body
270+ m.Trailer.Trailer = &m.Message.Trailer
277271
278272 m.Header.Set(field.NewMsgType("{{ .MessageDef.MsgType }}"))
279273 {{- range $required_fields }}
@@ -288,7 +282,7 @@ type RouteOut func(msg {{ .Name }}, sessionID quickfix.SessionID) quickfix.Messa
288282
289283//Route returns the beginstring, message type, and MessageRoute for this Message type
290284func Route(router RouteOut) (string, string, quickfix.MessageRoute) {
291- r:=func(msg quickfix.Message, sessionID quickfix.SessionID) quickfix.MessageRejectError {
285+ r:=func(msg * quickfix.Message, sessionID quickfix.SessionID) quickfix.MessageRejectError {
292286 return router(FromMessage(msg), sessionID)
293287 }
294288 return "{{ routerBeginString .FIXSpec }}", "{{ .MessageDef.MsgType }}", r
0 commit comments