Skip to content

Commit 93aad09

Browse files
author
Chris Busbey
committed
updating code generation to use message pointers instead of values
1 parent d4b96ee commit 93aad09

File tree

1 file changed

+18
-24
lines changed

1 file changed

+18
-24
lines changed

cmd/generate-fix/internal/templates.go

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -176,12 +176,12 @@ import(
176176
177177
//Header is the {{ .Package }} Header type
178178
type 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
213213
type Trailer struct {
214-
quickfix.Trailer
214+
*quickfix.Trailer
215215
}
216216
217217
{{ template "setters" .}}
@@ -225,7 +225,6 @@ type Trailer struct {
225225
package {{ .Package }}
226226
227227
import(
228-
"time"
229228
{{- range collectExtraImports .MessageDef }}
230229
"{{ . }}"
231230
{{- end }}
@@ -242,38 +241,33 @@ import(
242241
//{{ .Name }} is the {{ .FIXPackage }} {{ .Name }} type, MsgType = {{ .MsgType }}
243242
type {{ .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 }}
273266
func 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
290284
func 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

Comments
 (0)