Skip to content

Commit

Permalink
feat: Add stream-based protocol based on the new message-based protocol
Browse files Browse the repository at this point in the history
  • Loading branch information
pojntfx committed Oct 16, 2023
1 parent 97910ae commit c436d0b
Show file tree
Hide file tree
Showing 13 changed files with 219 additions and 23 deletions.
16 changes: 14 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,13 @@ for {
}
}()

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}()
Expand All @@ -183,7 +189,13 @@ if err != nil {
}
defer conn.Close()

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
```
Expand Down
17 changes: 15 additions & 2 deletions cmd/dudirekta-example-callbacks-callee/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package main

import (
"context"
"encoding/json"
"flag"
"fmt"
"log"
Expand Down Expand Up @@ -96,7 +97,13 @@ func main() {
}
}()

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}()
Expand All @@ -111,7 +118,13 @@ func main() {

log.Println("Connected to", conn.RemoteAddr())

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}
Expand Down
17 changes: 15 additions & 2 deletions cmd/dudirekta-example-callbacks-caller/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package main
import (
"bufio"
"context"
"encoding/json"
"flag"
"log"
"net"
Expand Down Expand Up @@ -128,7 +129,13 @@ func main() {
}
}()

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}()
Expand All @@ -143,7 +150,13 @@ func main() {

log.Println("Connected to", conn.RemoteAddr())

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}
Expand Down
17 changes: 15 additions & 2 deletions cmd/dudirekta-example-closures-callee/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package main

import (
"context"
"encoding/json"
"flag"
"log"
"net"
Expand Down Expand Up @@ -90,7 +91,13 @@ func main() {
}
}()

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}()
Expand All @@ -105,7 +112,13 @@ func main() {

log.Println("Connected to", conn.RemoteAddr())

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}
Expand Down
17 changes: 15 additions & 2 deletions cmd/dudirekta-example-closures-caller/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package main
import (
"bufio"
"context"
"encoding/json"
"flag"
"log"
"net"
Expand Down Expand Up @@ -137,7 +138,13 @@ func main() {
}
}()

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}()
Expand All @@ -152,7 +159,13 @@ func main() {

log.Println("Connected to", conn.RemoteAddr())

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/dudirekta-example-frisbee-client/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ func main() {
log.Println("Connected to", *raddr)

go func() {
if err := registry.Link(
if err := registry.LinkMessage(
func(b []byte) error {
pkg := packet.Get()

Expand Down
2 changes: 1 addition & 1 deletion cmd/dudirekta-example-frisbee-server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ func main() {
connID := a.RemoteAddr().String()

go func() {
if err := registry.Link(
if err := registry.LinkMessage(
func(b []byte) error {
pkg := packet.Get()

Expand Down
17 changes: 15 additions & 2 deletions cmd/dudirekta-example-tcp-client/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package main
import (
"bufio"
"context"
"encoding/json"
"flag"
"fmt"
"log"
Expand Down Expand Up @@ -131,7 +132,13 @@ func main() {
}
}()

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}()
Expand All @@ -146,7 +153,13 @@ func main() {

log.Println("Connected to", conn.RemoteAddr())

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}
Expand Down
18 changes: 15 additions & 3 deletions cmd/dudirekta-example-tcp-server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package main
import (
"bufio"
"context"
"encoding/json"
"flag"
"log"
"net"
Expand Down Expand Up @@ -110,7 +111,6 @@ func main() {
}

go func() {

defer func() {
_ = conn.Close()

Expand All @@ -119,7 +119,13 @@ func main() {
}
}()

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}()
Expand All @@ -134,7 +140,13 @@ func main() {

log.Println("Connected to", conn.RemoteAddr())

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}
Expand Down
9 changes: 8 additions & 1 deletion cmd/dudirekta-example-webrtc-peer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package main
import (
"bufio"
"context"
"encoding/json"
"flag"
"fmt"
"log"
Expand Down Expand Up @@ -217,7 +218,13 @@ func main() {
}
}()

if err := registry.Link(peer.Conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(peer.Conn).Encode,
json.NewDecoder(peer.Conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}()
Expand Down
17 changes: 15 additions & 2 deletions cmd/dudirekta-example-websocket-client/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package main
import (
"bufio"
"context"
"encoding/json"
"flag"
"fmt"
"log"
Expand Down Expand Up @@ -152,7 +153,13 @@ func main() {
defer conn.Close()

go func() {
if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
errs <- err

return
Expand Down Expand Up @@ -181,7 +188,13 @@ func main() {

log.Println("Connected to", *addr)

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}
Expand Down
17 changes: 15 additions & 2 deletions cmd/dudirekta-example-websocket-server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package main
import (
"bufio"
"context"
"encoding/json"
"flag"
"log"
"net"
Expand Down Expand Up @@ -138,7 +139,13 @@ func main() {
defer conn.Close()

go func() {
if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
errs <- err

return
Expand All @@ -165,7 +172,13 @@ func main() {

log.Println("Connected to", *addr)

if err := registry.Link(conn); err != nil {
if err := registry.LinkStream(
json.NewEncoder(conn).Encode,
json.NewDecoder(conn).Decode,

json.Marshal,
json.Unmarshal,
); err != nil {
panic(err)
}
}
Expand Down
Loading

0 comments on commit c436d0b

Please sign in to comment.