Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
199 commits
Select commit Hold shift + click to select a range
a1dac90
Merge pull request #315 from svanharmelen/b-data-race
cbusbey Jan 8, 2018
e218eb9
added new exported unregister session call
brobits Jan 19, 2018
f7ff400
Merge pull request #316 from brobits/unregister_session
cbusbey Jan 19, 2018
5c51bd0
importPathRoot function can now support linux and windows file path s…
Feb 27, 2018
62e21b4
Merge pull request #323 from Moataz-E/generate_fix_win_support
cbusbey Feb 27, 2018
d6236b0
change EventTimer to reset its Timer without requiring a reset channel
johndydo Mar 22, 2018
2dcacf5
Merge pull request #329 from johndydo/master
cbusbey Mar 23, 2018
c6b4c59
link to mailing list in CONTRIBUTING
Mar 23, 2018
91c418c
Adds support for RejectInvalidMessage configuration.
darwayne Jul 29, 2018
d6f5560
Merge pull request #337 from darwayne/enhancement/AllowInvalidMessage…
cbusbey Aug 6, 2018
ad10c69
Added CopyInto method to clone a message into another one
fedepaol Oct 11, 2018
55d5590
Final changes & test
fedepaol Oct 12, 2018
41276a1
Merge pull request #341 from fedepaol/deepcopy
cbusbey Oct 20, 2018
8653e13
Removed debug print
fedepaol Oct 20, 2018
d4af60d
Merge pull request #342 from fedepaol/removeprint
cbusbey Oct 22, 2018
66d0114
Implement Mongo backing store for persistence
michaelwilner Oct 30, 2018
d004661
Implement tests for the Mongo backing store
michaelwilner Oct 30, 2018
3f78762
Add mongo testing to travis
michaelwilner Oct 30, 2018
65a6f69
Update docs for the new MongoDB config params
michaelwilner Oct 30, 2018
d42ee27
Enable custom prefixes for mongo storage
michaelwilner Oct 30, 2018
f1db05e
Address action items from review
michaelwilner Oct 30, 2018
256b5f1
Merge pull request #343 from michaelwilner/mongo-store
cbusbey Oct 30, 2018
c21073d
Close iterator when getting messages
michaelwilner Oct 31, 2018
a3f5421
Merge pull request #344 from michaelwilner/iter-close
cbusbey Oct 31, 2018
4ecc772
Support timeout on ssl connection
ijufumi Dec 14, 2018
57eb17c
Merge pull request #348 from ijufumi/master
cbusbey Dec 19, 2018
98f4d61
Add SocketTimeout to config/doc.go
ijufumi Jan 7, 2019
a4661a6
Merge pull request #350 from ijufumi/master
cbusbey Jan 7, 2019
12f7c2a
Add SocketUseSSL parameter to allow SSL without client certs
Jan 9, 2019
64d63a5
Fix `Message.CopyInto()` to fully deep copy and remove the error retu…
ethanf Jan 9, 2019
4c7fc75
Merge pull request #354 from ethanf/msg-deep-copy
cbusbey Jan 14, 2019
00f321c
Update tls_test.go
blutack Jan 14, 2019
a502747
Update tls_test.go
blutack Jan 14, 2019
4740cf3
refactoring around session reset, do not send reset for < fix41
Jan 15, 2019
45a1031
initiator sets seq reset flag when configured
Jan 15, 2019
6f8694c
linting mongostore
Jan 15, 2019
d5f68d1
Initiator stop panic if stop chan's already closed
Jan 17, 2019
aabc468
Merge pull request #360 from volodimyr/issue-359
cbusbey Jan 17, 2019
d053b60
Merge pull request #358 from cbusbey/session_reset
cbusbey Feb 1, 2019
129d801
Merge pull request #353 from blutack/features/clientless_ssl
cbusbey Feb 4, 2019
49082f7
fixes some confusing logging on reset flag handling
Feb 6, 2019
dd336ea
Merge pull request #362 from cbusbey/reset_logging
cbusbey Feb 7, 2019
b8a9fe2
Run gofmt simplify
ferhatelmas May 7, 2019
e4cb2dd
Merge pull request #373 from ferhatelmas/run-fmt-simplify
cbusbey May 30, 2019
d28f192
Common dialer used in initiator
michaelwilner Jul 17, 2019
7b45745
Dial through proxy interface
michaelwilner Jul 17, 2019
9c1b3c6
Test coverage for dialer
michaelwilner Jul 17, 2019
f3a3283
Remove extraneous return
michaelwilner Jul 17, 2019
9ab3b0d
Merge pull request #376 from michaelwilner/master
cbusbey Jul 18, 2019
fdd3c8e
add dynamic sessions
reddec Sep 25, 2019
210460e
add dynamic sessions
reddec Sep 25, 2019
1816e62
stop dynamic session correctly
reddec Sep 25, 2019
2307e12
Upgrades Go versions and migrates to modules.
ackleymi Sep 29, 2019
0d1a518
Adds gopath requirement hack and canonicalizes template comment format.
ackleymi Sep 30, 2019
3b76a15
Merge pull request #377 from reddec/master
cbusbey Sep 30, 2019
fdf41a7
Adds a flag to specify generated package import paths.
ackleymi Oct 18, 2019
731274d
Reverts generator waitgroup behavior.
ackleymi Oct 18, 2019
61e093e
Updates README to reflect modules changes.
ackleymi Oct 18, 2019
1603f31
Restores go expressions to generator funcs.
ackleymi Oct 24, 2019
4f8e821
Merge pull request #381 from ackleymi/master
cbusbey Nov 2, 2019
e466888
Add SocketServerName to support TLS SNI
linmaosong2018 Nov 6, 2019
1542921
Avoid duplicate config in both SocketConnectAddress and ServerName: c…
linmaosong2018 Nov 6, 2019
3f2a11d
When copying address as server name, Chop off port if present
linmaosong2018 Nov 6, 2019
3319fc6
Missing depedency
linmaosong2018 Nov 6, 2019
ec0df4a
[QFGO-296] Adds LogoutTimeout as a configuration parameter.
ackleymi Nov 8, 2019
7fece7d
[QFGO-295] Adds LogonTimeout as a configuration parameter.
ackleymi Nov 8, 2019
7baed6c
Merge pull request #387 from ackleymi/master
cbusbey Nov 9, 2019
321e9fb
Merge pull request #385 from linmaosong2018/tls-server-name-config
cbusbey Nov 9, 2019
1178e8a
Include reason in text field of Logout if seq num too low in Logon.
Dec 26, 2019
4dd815e
Add support for DynamicQualifier
Jan 4, 2020
3f3e998
Tweak logic
Jan 4, 2020
1224821
Merge pull request #393 from mirceapasoi/master
cbusbey Jan 22, 2020
12247c9
Merge pull request #392 from bobmcn/logon-too-low
cbusbey Jan 22, 2020
e64e1ad
Expore IP address for acceptor
Jan 30, 2020
efd5a0a
Add comment
Feb 5, 2020
1f45782
Merge pull request #395 from mirceapasoi/mircea/remoteaddr
cbusbey Feb 5, 2020
d73e333
add businessRejectRefId to MessageRejectError
Rgvs Feb 12, 2020
cdb8f39
adds proxy wrapper around listener
Mar 12, 2020
8a4d8ae
adds test
Mar 13, 2020
31410d3
add documentation
Mar 13, 2020
c0e92fb
add valid values
Mar 13, 2020
fa08224
replace space with tab
Mar 13, 2020
7125fe8
Send error if connection is outside of session time
agustintorres Apr 8, 2020
b5d903c
PG Placeholders
daemonl May 21, 2020
14b4f16
Merge pull request #397 from Rgvs/master
cbusbey May 26, 2020
4ae1ecb
Replace func tests
daemonl May 29, 2020
05cb38b
Adding ConnectionValidator interface allowing to implement a custom a…
StanChe Jun 3, 2020
6f9c119
Moved the new SetConnectionValidator method to the end of the file
StanChe Jun 3, 2020
d0b7825
Merge pull request #400 from styliii/lo/proxy-wrapper
cbusbey Jun 19, 2020
c46b982
Merge pull request #405 from dltmtech/feature/net.Conn_validator
cbusbey Jun 19, 2020
2f40b51
Outrageous mistake
lenimartin Jun 23, 2020
d250a96
Merge pull request #408 from lenimartin/patch-1
cbusbey Jun 23, 2020
5606f45
Specify TLS minimum version explicitly
Toshiyuki-Tega Jun 29, 2020
ee65ceb
Merge pull request #403 from agustintorres/master
cbusbey Jul 11, 2020
4234eb3
Merge pull request #409 from Softgate-Limited/old-tls
cbusbey Jul 11, 2020
01db019
enable golang ci github action
Jul 12, 2020
1356539
Merge pull request #411 from cbusbey/golangci
cbusbey Jul 12, 2020
aa4a4a1
updates libdecimal, adds pkg/errors
Jul 12, 2020
7d13f91
some error checks, error wrapping
Jul 12, 2020
3c314f2
Merge pull request #412 from cbusbey/err_checks
cbusbey Jul 13, 2020
dce3800
Bump github.com/mattn/go-sqlite3 from 1.11.0 to 1.14.0
dependabot-preview[bot] Jul 13, 2020
52c31f5
some very low hanging lint fixes
Jul 13, 2020
4da1516
Merge pull request #414 from quickfixgo/dependabot/go_modules/github.…
cbusbey Jul 13, 2020
dbc66e7
Bump github.com/stretchr/testify from 1.4.0 to 1.6.1
dependabot-preview[bot] Jul 13, 2020
8f4c947
Merge pull request #415 from cbusbey/low_hang_lint
cbusbey Jul 13, 2020
05acf7d
Merge pull request #413 from quickfixgo/dependabot/go_modules/github.…
cbusbey Jul 13, 2020
1237d95
misc delint
Jul 13, 2020
16e759c
Merge pull request #416 from cbusbey/lint_cleanup
cbusbey Jul 14, 2020
6fb3177
delint mongo error handling
Jul 14, 2020
6ee8dd7
Merge pull request #417 from cbusbey/mongo_err_lint
cbusbey Jul 14, 2020
b77b5c0
more delint
Jul 15, 2020
283735b
remove unused ref
Jul 15, 2020
5a189e5
Merge pull request #418 from cbusbey/lint
cbusbey Jul 15, 2020
88db7e7
Bump github.com/mattn/go-sqlite3 from 1.14.0 to 1.14.1
dependabot-preview[bot] Aug 21, 2020
6920610
Merge pull request #419 from quickfixgo/dependabot/go_modules/github.…
cbusbey Aug 21, 2020
1a5aee6
Bump github.com/mattn/go-sqlite3 from 1.14.1 to 1.14.2
dependabot-preview[bot] Aug 31, 2020
dd777ad
Bump github.com/mattn/go-sqlite3 from 1.14.2 to 1.14.3
dependabot-preview[bot] Sep 14, 2020
2eae3eb
Merge pull request #404 from EmbedFi/master
cbusbey Sep 30, 2020
87b99ee
Bump github.com/mattn/go-sqlite3 from 1.14.3 to 1.14.4
dependabot-preview[bot] Oct 5, 2020
1e9528d
add gormstroe
level2player Oct 14, 2020
372aa4c
modify go.mod
level2player Oct 15, 2020
54811a3
add grom.db sup
level2player Oct 15, 2020
5b24ee5
add populateCache
level2player Oct 16, 2020
51cfdad
add populateCache
level2player Oct 16, 2020
da9e816
modfiy require
level2player Oct 17, 2020
721b739
add setting yaml
level2player Oct 26, 2020
bf59435
add GlobalSettings
level2player Oct 26, 2020
729159c
add tagTargetSubID and tagSenderSubID
level2player Nov 3, 2020
5990e09
If it is determined that the message is repeated, skip this insertion
level2player Nov 9, 2020
f444034
add readLoop.parser.ReadMessage log
level2player Dec 24, 2020
9c12adc
fix readLoop log
level2player Apr 2, 2021
89a2c6e
Session Setting Support SendRateLimiter
Aug 13, 2022
fdcde10
Merge pull request #1 from longbridgeapp/feature/rate_limit
level2player Aug 13, 2022
24d05eb
Session Setting Support SendRateLimiter
Aug 13, 2022
d387a56
Merge pull request #2 from longbridgeapp/feature/rate_limit
level2player Aug 13, 2022
254d0f3
refactor rate limit
Aug 25, 2022
4dd8f3d
Merge pull request #3 from longbridgeapp/feature/rate_limit
level2player Aug 25, 2022
b617d62
add ParseMapSettingsV2 func
Oct 26, 2022
6dec1ab
add test case
Oct 27, 2022
f621bb0
catch errors in AddSession
Oct 27, 2022
770dd44
Merge pull request #4 from longbridgeapp/feat/parse-settings
level2player Oct 27, 2022
8e161fb
upgrade_gormv2
Feb 13, 2023
902d911
rm idea files
Feb 13, 2023
56d7cd9
upgrade gomod
Feb 13, 2023
db41406
upgrade gomod
Feb 13, 2023
e3865a9
fix record not found
Feb 21, 2023
e615c97
del messages createtime
Feb 21, 2023
3034c6b
[CORE-0000] support db store
Feb 28, 2023
b68ef57
Merge pull request #5 from longbridgeapp/feat/nust-store
level2player Feb 28, 2023
18c592a
[CORE-0000] support db store
Feb 28, 2023
d053db1
Merge pull request #6 from longbridgeapp/feat/nust-store
level2player Feb 28, 2023
1199d61
[CORE-0000] support db store
Feb 28, 2023
40bde25
Merge pull request #7 from longbridgeapp/feat/nust-store
level2player Feb 28, 2023
9286c70
[CORE-0000] support nutsdb
Mar 1, 2023
995d228
Merge pull request #8 from longbridgeapp/feat/nust-store
level2player Mar 1, 2023
ae01763
merge master
Mar 23, 2023
dbfec28
Merge pull request #9 from longbridgeapp/feature/upgrade_gormv2
level2player Mar 23, 2023
1509ed7
[m-14237093] support DynamicSessions
Aug 20, 2023
c65c79b
Merge pull request #10 from longbridgeapp/feature/m-14237093_simulator
level2player Aug 22, 2023
5facde5
ad session connect event
Jan 10, 2024
05bd990
fix
Jan 11, 2024
ba5ed12
fix
Jan 11, 2024
d177645
fix
Jan 11, 2024
ed20fdf
ad log
Jan 11, 2024
2da99cf
Merge pull request #11 from longbridgeapp/feature/ad_session_logon_event
level2player Feb 7, 2024
3aa476c
Add support for QuickfixJ option FileStoreSync which controls whether…
adam-talos Nov 2, 2021
9df5240
refactor: rename sessionIDFilenamePrefix to SessionIDFilenamePrefix
Leeeft Aug 29, 2024
6fc48b5
refactor(filestore): replace deprecated ioutil with os and io packages
Leeeft Sep 2, 2024
d43b98b
feat(filestore): add backup MessageStore support
Leeeft Sep 2, 2024
901711a
refactor(filestore): update backup store to use factory pattern
Leeeft Sep 3, 2024
bb6dab8
refactor(store): rename `storeBackup` to `backupStore` and add logging
Leeeft Sep 4, 2024
339bcaa
fix(backup_store): prevent nil MessageStore initialization
Leeeft Sep 4, 2024
92f3115
refactor(backup): remove unused operationRefresh constant and case
Leeeft Sep 4, 2024
4e74287
refactor(backup): rename and restructure backup store for clarity
Leeeft Sep 4, 2024
3f61871
refactor(backup-store): export constants and struct types for externa…
Leeeft Sep 4, 2024
b1e3c6f
refactor(backup): rename PersistentMessage to BackupMessage
Leeeft Sep 4, 2024
2c41d60
feat(filestore): add backup store functionality and update dependencies
Leeeft Sep 4, 2024
576e9c9
fix(backup): handle nil receiver in start method
Leeeft Oct 3, 2024
21ce2f0
refactor(logging): replace custom logging package with fmt
Leeeft Oct 5, 2024
dc2f62b
pick Preserve original body when resending
mgatny Apr 15, 2024
439b5f4
Merge pull request #16 from longbridgeapp/pick-resending-original
level2player Oct 15, 2024
7ae04db
Merge pull request #14 from longbridgeapp/feature/cherrypick_async_fi…
level2player Oct 15, 2024
2048c0c
Merge branch 'master' into feature/backup
Leeeft Oct 15, 2024
ff07401
Merge pull request #15 from longbridgeapp/feature/backup
level2player Oct 15, 2024
521b647
rename
sami-sweng Jun 11, 2021
2318100
Merge pull request #17 from longbridgeapp/feature/send-msg-in-queue
level2player Oct 15, 2024
72ebd1a
add test cases to verify state features
Leeeft Nov 6, 2024
069e078
expose IsConnectedAndLoggedOn to verify session state
Leeeft Nov 6, 2024
c18cb9b
revert
Leeeft Nov 6, 2024
053ae7d
use enum instead
Leeeft Nov 6, 2024
ddb9661
expose SessionState
Leeeft Nov 6, 2024
9ec2251
init stateMachine when new a session
Leeeft Nov 7, 2024
1410f91
Merge pull request #18 from longbridge/feature/expose-state
level2player Feb 11, 2025
8b8c69f
Make use of SocketCAFile config
hyde-zhang Aug 24, 2021
315e9cd
Update tls.go load with CA only behaviour
hyde-zhang Sep 8, 2021
d81e422
Require client certs verification when SocketUseSSL N
hyde-zhang Sep 8, 2021
1ea7b78
将ioutil.ReadFile替换为os.ReadFile以更新文件读取方式,并修正注释格式。
Leeeft Jun 3, 2025
71b8efb
Merge pull request #19 from longbridge/feature/unilateral-tls
level2player Jun 3, 2025
8420af0
LongBridge
Aug 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/golangci-lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: golangci-lint
on:
push:
tags:
- v*
branches:
- master
pull_request:
jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: golangci-lint
uses: golangci/golangci-lint-action@v1
with:
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
version: v1.26

# Optional: working directory, useful for monorepos
# working-directory: somedir

# Optional: golangci-lint command line arguments.
# args: --issues-exit-code=0

# Optional: show only new issues if it's a pull request. The default value is `false`.
# only-new-issues: true
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ _test/echo_server
_test/tmp
_vendor*
gen
*.db
.idea
42 changes: 29 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,43 @@
language: go
sudo: false

services:
- mongodb

go:
- 1.9
- 1.11.x
- 1.12.x
- 1.13
- tip

env:
- FIX_TEST=
- FIX_TEST=fix40
- FIX_TEST=fix41
- FIX_TEST=fix42
- FIX_TEST=fix43
- FIX_TEST=fix44
- FIX_TEST=fix50
- FIX_TEST=fix50sp1
- FIX_TEST=fix50sp2
global:
- GO111MODULE=on
- MONGODB_TEST_CXN=localhost
matrix:
- FIX_TEST=
- FIX_TEST=fix40
- FIX_TEST=fix41
- FIX_TEST=fix42
- FIX_TEST=fix43
- FIX_TEST=fix44
- FIX_TEST=fix50
- FIX_TEST=fix50sp1
- FIX_TEST=fix50sp2

matrix:
allow_failures:
- go: tip
fast_finish: true
exclude:
- go: 1.13.x
env: GO111MODULE=on
- go: tip
env: GO111MODULE=on

install:
- go get -u github.com/golang/dep/cmd/dep
- dep ensure
before_install:
- if [[ "${GO111MODULE}" = "on" ]]; then mkdir "${HOME}/go"; export GOPATH="${HOME}/go"; fi
- if [[ "${GO111MODULE}" = "on" ]]; then export PATH="${GOPATH}/bin:${GOROOT}/bin:${PATH}"; fi
- go mod download

script: make generate; if [ -z "$FIX_TEST" ]; then make build; make; else make build_accept; make $FIX_TEST; fi
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,3 +172,5 @@ BUG FIXES
## 0.1.0 (February 21, 2016)

* Initial release

## LongBridge Feature
4 changes: 3 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@

We welcome pull requests, bug fixes and issue reports.

Please direct questions about using the library to the [Mailing List](https://groups.google.com/forum/#!forum/long-bridge).

Before proposing a large change, please discuss your change by raising an issue.

## Submitting Changes

* Push your changes to a topic branch in your fork of the repository
* Submit a pull request to the repository in the QuickFIXGo Organization
* Submit a pull request to the repository in the long-bridge Organization

## Notes

Expand Down
51 changes: 0 additions & 51 deletions Gopkg.lock

This file was deleted.

34 changes: 0 additions & 34 deletions Gopkg.toml

This file was deleted.

5 changes: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
all: vet test

generate:
clean:
rm -rf gen

generate: clean
mkdir -p gen; cd gen; go run ../cmd/generate-fix/generate-fix.go ../spec/*.xml

generate-dist:
Expand Down
87 changes: 32 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
QuickFIX/Go
===========

[![GoDoc](https://godoc.org/github.com/quickfixgo/quickfix?status.png)](https://godoc.org/github.com/quickfixgo/quickfix) [![Build Status](https://travis-ci.org/quickfixgo/quickfix.svg?branch=master)](https://travis-ci.org/quickfixgo/quickfix) [![Go Report Card](https://goreportcard.com/badge/github.com/quickfixgo/quickfix)](https://goreportcard.com/report/github.com/quickfixgo/quickfix)
[![GoDoc](https://godoc.org/github.com/quickfixgo/quickfix?status.png)](https://godoc.org/github.com/quickfixgo/quickfix) [![Build Status](https://travis-ci.org/long-bridge/quickfix.svg?branch=master)](https://travis-ci.org/long-bridge/quickfix) [![Go Report Card](https://goreportcard.com/badge/github.com/quickfixgo/quickfix)](https://goreportcard.com/report/github.com/quickfixgo/quickfix)

- Website: http://www.quickfixgo.org
- Mailing list: [Google Groups](https://groups.google.com/forum/#!forum/quickfixgo)
- Website: http://www.long-bridge.org
- Mailing list: [Google Groups](https://groups.google.com/forum/#!forum/long-bridge)

Open Source [FIX Protocol](http://www.fixprotocol.org/) library implemented in Go

Getting Started and Documentation
---------------------------------

* [User Manual](http://quickfixgo.org/docs)
* [User Manual](http://long-bridge.org/docs)
* [API Documentation](https://godoc.org/github.com/quickfixgo/quickfix)

### Installation
Expand All @@ -28,24 +28,24 @@ To update QuickFIX/Go to the latest version, use `go get -u github.com/quickfixg

### Example Apps

See [examples](https://github.com/quickfixgo/examples) for some simple examples of using QuickFIX/Go.
See [examples](https://github.com/long-bridge/examples) for some simple examples of using QuickFIX/Go.

### FIX Message Generation

QuickFIX/Go includes separate packages for tags, fields, enums, messages, and message components generated from the FIX 4.0 - FIX5.0SP2 specs. See:

* [github.com/quickfixgo/tag](https://github.com/quickfixgo/tag)
* [github.com/quickfixgo/field](https://github.com/quickfixgo/field)
* [github.com/quickfixgo/enum](https://github.com/quickfixgo/enum)
* [github.com/quickfixgo/fix40](https://github.com/quickfixgo/fix40)
* [github.com/quickfixgo/fix41](https://github.com/quickfixgo/fix41)
* [github.com/quickfixgo/fix42](https://github.com/quickfixgo/fix42)
* [github.com/quickfixgo/fix43](https://github.com/quickfixgo/fix43)
* [github.com/quickfixgo/fix44](https://github.com/quickfixgo/fix44)
* [github.com/quickfixgo/fix50](https://github.com/quickfixgo/fix50)
* [github.com/quickfixgo/fix50sp1](https://github.com/quickfixgo/fix50sp1)
* [github.com/quickfixgo/fix50sp2](https://github.com/quickfixgo/fix50sp2)
* [github.com/quickfixgo/fixt11](https://github.com/quickfixgo/fixt11)
* [github.com/long-bridge/tag](https://github.com/long-bridge/tag)
* [github.com/long-bridge/field](https://github.com/long-bridge/field)
* [github.com/long-bridge/enum](https://github.com/long-bridge/enum)
* [github.com/long-bridge/fix40](https://github.com/long-bridge/fix40)
* [github.com/long-bridge/fix41](https://github.com/long-bridge/fix41)
* [github.com/long-bridge/fix42](https://github.com/long-bridge/fix42)
* [github.com/long-bridge/fix43](https://github.com/long-bridge/fix43)
* [github.com/long-bridge/fix44](https://github.com/long-bridge/fix44)
* [github.com/long-bridge/fix50](https://github.com/long-bridge/fix50)
* [github.com/long-bridge/fix50sp1](https://github.com/long-bridge/fix50sp1)
* [github.com/long-bridge/fix50sp2](https://github.com/long-bridge/fix50sp2)
* [github.com/long-bridge/fixt11](https://github.com/long-bridge/fixt11)

For most FIX applications, these generated resources are sufficient. Custom FIX applications may generate source specific to the FIX spec of that application using the `generate-fix` tool included with QuickFIX/Go.

Expand All @@ -54,24 +54,16 @@ Following installation, `generate-fix` is installed to `$GOPATH/bin/generate-fix
Developing QuickFIX/Go
----------------------

If you wish to work on QuickFIX/Go itself, you will first need [Go](http://www.golang.org) installed on your machine (version 1.6+ is *required*).
If you wish to work on QuickFIX/Go itself, you will first need [Go](http://www.golang.org) installed and configured on your machine (version 1.13+ is preferred, but the minimum required version is 1.6).

For local dev first make sure Go is properly installed, including setting up a [GOPATH](http://golang.org/doc/code.html#GOPATH).

Next, using [Git](https://git-scm.com/), clone this repository into `$GOPATH/src/github.com/quickfixgo/quickfix`.
Next, using [Git](https://git-scm.com/), clone the repository via `git clone git@github.com:long-bridge/quickfix.git`

### Installing Dependencies

QuickFIX/Go uses [dep](https://github.com/golang/dep) to manage the vendored dependencies. Install dep with `go get`:

```sh
$ go get -u github.com/golang/dep/cmd/dep
```

Run `dep ensure` to install the correct versioned dependencies into `vendor/`, which Go 1.6+ automatically recognizes and loads.
As of Go version 1.13, QuickFIX/Go uses [modules](https://github.com/golang/go/wiki/Modules) to manage dependencies. You may require `GO111MODULE=on`. To install dependencies, run

```sh
$ $GOPATH/bin/dep ensure
go mod download
```

**Note:** No vendored dependencies are included in the QuickFIX/Go source.
Expand All @@ -88,7 +80,7 @@ If this exits with exit status 0, then everything is working!

### Generated Code

Generated code from the FIX40-FIX50SP2 specs are available as separate repos under the [QuickFIX/Go organization](https://github.com/quickfixgo). The source specifications for this generated code is located in `spec/`. Generated code can be identified by the `.generated.go` suffix. Any changes to generated code must be captured by changes to source in `cmd/generate-fix`. After making changes to the code generator source, run the following to re-generate the source
Generated code from the FIX40-FIX50SP2 specs are available as separate repos under the [QuickFIX/Go organization](https://github.com/long-bridge). The source specifications for this generated code is located in `spec/`. Generated code can be identified by the `.generated.go` suffix. Any changes to generated code must be captured by changes to source in `cmd/generate-fix`. After making changes to the code generator source, run the following to re-generate the source

```sh
$ make generate-dist
Expand Down Expand Up @@ -117,37 +109,22 @@ To run acceptance tests,

If you are developing QuickFIX/Go, there are a few tasks you might need to perform related to dependencies.

#### Adding a dependency

If you are adding a dependency, you will need to update the dep manifest in the same Pull Request as the code that depends on it. You should do this in a separate commit from your code, as this makes PR review easier and Git history simpler to read in the future.
#### Adding/updating a dependency

To add a dependency:

1. Add the dependency using `dep`:
```bash
$ dep ensure -add github.com/foo/bar
```
2. Review the changes in git and commit them.
If you are adding or updating a dependency, you will need to update the `go.mod` and `go.sum` in the same Pull Request as the code that depends on it. You should do this in a separate commit from your code, as this makes PR review easier and Git history simpler to read in the future.

#### Updating a dependency

To update a dependency to the latest version allowed by constraints in `Gopkg.toml`:

1. Run:
```bash
$ dep ensure -update github.com/foo/bar
1. Add or update the dependency like usual:
```sh
go get -u github.com/foo/bar
```
2. Review the changes in git and commit them.

To change the allowed version/branch/revision of a dependency:

1. Manually edit `Gopkg.toml`
2. Run:
```bash
$ dep ensure
2. Update the module-related files:
```sh
go mod tidy
```
3. Review the changes in git and commit them.

Note that to specify a specific revision, you can manually edit the `go.mod` file and run `go mod tidy`

Licensing
---------

Expand Down
1 change: 1 addition & 0 deletions _sql/postgresql/messages_table.sql
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ CREATE TABLE messages (
session_qualifier VARCHAR(64) NOT NULL,
msgseqnum INTEGER NOT NULL,
message TEXT NOT NULL,
created_at timestamp with time zone DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (beginstring, sendercompid, sendersubid, senderlocid,
targetcompid, targetsubid, targetlocid, session_qualifier,
msgseqnum)
Expand Down
7 changes: 6 additions & 1 deletion _test/echo_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@ import (
"os"
"os/signal"

"github.com/quickfixgo/quickfix"
"github.com/quickfixgo/quickfix/gen/field"
"github.com/quickfixgo/quickfix/gen/tag"

"github.com/quickfixgo/quickfix"
)

var router *quickfix.MessageRouter = quickfix.NewMessageRouter()
Expand All @@ -32,6 +33,10 @@ func (e *EchoApplication) OnLogout(sessionID quickfix.SessionID) {
func (e EchoApplication) ToAdmin(msgBuilder *quickfix.Message, sessionID quickfix.SessionID) {
}

func (e EchoApplication) OnEvent(sessionID quickfix.SessionID, tp quickfix.EventType, ev interface{}) {

}

func (e EchoApplication) ToApp(msgBuilder *quickfix.Message, sessionID quickfix.SessionID) (err error) {
return
}
Expand Down
Loading