Skip to content

Commit

Permalink
Release v0.1.5 (#49)
Browse files Browse the repository at this point in the history
* Adding utility functions for underlying conn access

* Adding some raw write utility functions

* Test stability

* Test stability

* Adding utility func

* In golang, io.EOF is served when a network connection is CLOSED, not when it's empty - that's blocking

* Adding debugging for lynk (temporary)

* Adding debugging for lynk (temporary)

* Adding debugging for lynk (temporary)

* Adding debugging for lynk (temporary)

* Adding debugging for lynk (temporary)

* Temporarily removing ReadFrom functionality

* Undoing some temp changes

* Changing the way streamConns are registered

* Testing buffered reader in ReadFrom

* Undoing buffered reader stuff

* Adding some interface implementations

* Adding some interface implementations

* Adding some interface implementations

* Removing buffer message types from Frisbee

* Removing buffer message types from Frisbee

* Solidifying tests

* Solidifying tests

* Moving around waitgroup logic

* testing

* Swapping to uint64 for frisbee message ID, and adding "FBEE" reserved bytes at start of message (instead of 0s)

* Refactoring frisbee conn into async and stream structs

* Adding license headers, improving test cases, adding test cases for Sync connections

* Removing waitgroup in Sync connection (no goroutines are run)

* Adding waitgroups to guarantee all goroutines are dead

* Revert "Adding waitgroups to guarantee all goroutines are dead"

This reverts commit 054bc30

* Fixing comment, adding atomic shutdown var to server

* Testing server waitgroup to make sure server goroutines are shutdown

* Testing server waitgroup to make sure server goroutines are shutdown

* Adding flaky tests checker

* Adding flaky tests checker

* Using require for failures

* Changing closed error

* Making tests less flaky

* Making tests less flaky

* Making TestStreamIOCopy less flaky

* Adding timeouts to testing

* More obvious wait logic for client wait group

* More obvious wait logic for client wait group

* Removing require so we get more debug messages

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Fixing some buggy tests, improving streamChannel usage

* Increasing timeouts

* Increasing timeouts

* Increasing timeouts even more

* Update CHANGELOG.md

* Updating module path

* Fixing paths to github.com/loopholelabs

* Adding TLS connection state information

* Fixing TLS listener error

* Fixing TLS Conn error

* Fixing many bugs

* Testing small flush bug

* Upgrading go version on tests

* Updating changelog for release 0.1.4

* Going back to version 1.16 because semaphore doesn't support 1.17 yet, removing unnecessary switch statement

* forcing connections to be over TCP

* Finalizing CHANGELOG.md

* heartbeat logging

* Doing 30 second deadline, adding testing deadlines to every async read

* Changing deadline to 5 seconds, adding error channel

* Increasing the deadline once again

* Adding log messages

* Fixing logging message formats

* Fixing logging message formats

* Fixing logging message formats

* Fixing major bug

* fix #44 - Handing Disconnected Connections (#47)

* Removing Connection Paused State and instead using connection closed state, which should return an error.

Temporarily removing all timeouts during normal reading in case they're not required.

Fixes #44

* Changing the way we check for dead connections by sending a NOOP message whenever a timeout occurs

Fixes #44

* Adding timeout for sleep

Fixes #44

* Removing sleep timeout for large decoded message contents

Fixes #44

* Optimizing heartbeat times and default deadlines

* Fixing test case for options_test.go

* Fixing timeout to use PING and PONG messages

* Improving PR and issue templates

* Improving PR and issue templates

* Improving PR and issue templates

* Updating changelog for release
  • Loading branch information
ShivanshVij committed Nov 16, 2021
1 parent f04d019 commit a4f30ae
Show file tree
Hide file tree
Showing 15 changed files with 361 additions and 207 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Loophole Labs Community Support
url: https://loopholelabs.slack.com/
url: https://discord.gg/JYmFhtdPeu
about: Please ask and answer questions here.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
assignees: ShivanshVij

---

Expand Down
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/other.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
name: Other
about: A different type of issue
title: ''
labels: question
assignees: ShivanshVij

---

**Description of the Issue. Please be as clear as possible.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Additional context**
Add any other context or screenshots about the issue here.
10 changes: 5 additions & 5 deletions .semaphore/semaphore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,10 @@ blocks:
jobs:
- name: Test
commands:
- go test ./... -timeout 60s
- go test ./... -timeout 300s
- name: Test (Race Conditions)
commands:
- go test ./... -race -timeout 60s
- go test ./... -race -timeout 300s
prologue:
commands:
- sem-version go 1.16
Expand All @@ -74,10 +74,10 @@ blocks:
jobs:
- name: Benchmark
commands:
- go test -bench=. ./... -v -timeout 60s
- go test -bench=. ./... -v -timeout 300s
- name: Benchmark (Race Conditons)
commands:
- go test -bench=. ./... -race -v -timeout 60s
- go test -bench=. ./... -race -v -timeout 300s
prologue:
commands:
- sem-version go 1.16
Expand All @@ -96,7 +96,7 @@ blocks:
jobs:
- name: TestStreamIOCopy (200x)
commands:
- go test ./... -run TestStreamIOCopy -count=200 -v -timeout 800s
- go test ./... -run TestStreamIOCopy -count=200 -v -timeout 1200s
prologue:
commands:
- sem-version go 1.16
Expand Down
12 changes: 11 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [v0.1.5] - 2021-11-16
### Fixes
- Frisbee `Server` and `Client` now properly use timeouts for `Async` connections everywhere
- Connection timeouts are handled using `PING` `PONG` messages at the connection level to guarantee that the connection is closed

### Changes
- The `paused` connection state has been removed as it was not being used and only causing problems
- The default read and write deadline has been reduced to 1 second, and the heartbeat time has been reduced to 500 ms

## [v0.1.4] - 2021-10-03
### Fixes
- Frisbee `Server` and `Client` now handle TLS connections properly (tested with MTLS)
Expand Down Expand Up @@ -50,7 +59,8 @@ functions
## [v0.1.0] - 2021-06-03
Initial Release of Frisbee

[Unreleased]: https://github.com/loopholelabs/frisbee/compare/v0.1.4...HEAD
[Unreleased]: https://github.com/loopholelabs/frisbee/compare/v0.1.5...HEAD
[v0.1.5]: https://github.com/loopholelabs/frisbee/compare/v0.1.4...v0.1.5
[v0.1.4]: https://github.com/loopholelabs/frisbee/compare/v0.1.3...v0.1.4
[v0.1.3]: https://github.com/loopholelabs/frisbee/compare/v0.1.2...v0.1.3
[v0.1.2]: https://github.com/loopholelabs/frisbee/compare/v0.1.1...v0.1.2
Expand Down
Loading

0 comments on commit a4f30ae

Please sign in to comment.