Skip to content

Commit

Permalink
Initial mock FIX server
Browse files Browse the repository at this point in the history
  • Loading branch information
tolyo committed Dec 11, 2023
1 parent cb7c6d2 commit ece9bcb
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 0 deletions.
1 change: 1 addition & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,7 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
Expand Down
47 changes: 47 additions & 0 deletions pkg/fix/fix.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package main

import (
"fmt"

"github.com/quickfixgo/quickfix"
log "github.com/sirupsen/logrus"
)

// FixServer implements the main quickfix interface
type FixServer struct{}

func (s *FixServer) OnCreate(sessionID quickfix.SessionID) {
log.Println("Session created:", sessionID)
}

func (s *FixServer) OnLogon(sessionID quickfix.SessionID) {
fmt.Println("Session logged on:", sessionID)
}

func (s *FixServer) OnLogout(sessionID quickfix.SessionID) {
fmt.Println("Session logged out:", sessionID)
}

func (s *FixServer) ToAdmin(message quickfix.Message, sessionID quickfix.SessionID) {
fmt.Println("Sending admin message to", sessionID, ":", message)
}

func (s *FixServer) ToApp(message quickfix.Message, sessionID quickfix.SessionID) error {
fmt.Println("Sending app message to", sessionID, ":", message)
return nil
}

func (s *FixServer) FromAdmin(message quickfix.Message, sessionID quickfix.SessionID) quickfix.MessageRejectError {
fmt.Println("Receiving admin message from", sessionID, ":", message)
return quickfix.InvalidMessageType()
}

func (s *FixServer) FromApp(message quickfix.Message, sessionID quickfix.SessionID) quickfix.MessageRejectError {
fmt.Println("Receiving app message from", sessionID, ":", message)
return quickfix.InvalidMessageType()
}

func New() *FixServer {
server := &FixServer{}
return server
}

0 comments on commit ece9bcb

Please sign in to comment.