From 7ff98f64a8ed0d50a6513c4cb8c593da8609709b Mon Sep 17 00:00:00 2001 From: Garet Halliday <me@garet.holiday> Date: Wed, 13 Sep 2023 15:49:19 -0500 Subject: [PATCH] need to rewrite eqp :( it can cause packets to be sent out of order --- lib/middleware/middlewares/eqp/client.go | 2 -- lib/middleware/middlewares/eqp/server.go | 2 -- lib/middleware/middlewares/eqp2/client.go | 21 +++++++++++++++++++ lib/middleware/middlewares/ps/client.go | 6 ++++-- lib/middleware/middlewares/ps/server.go | 6 ++++-- .../middlewares/unterminate/unterminate.go | 8 ++++--- lib/middleware/nil.go | 15 ------------- 7 files changed, 34 insertions(+), 26 deletions(-) create mode 100644 lib/middleware/middlewares/eqp2/client.go delete mode 100644 lib/middleware/nil.go diff --git a/lib/middleware/middlewares/eqp/client.go b/lib/middleware/middlewares/eqp/client.go index 2f8efee5..b439d154 100644 --- a/lib/middleware/middlewares/eqp/client.go +++ b/lib/middleware/middlewares/eqp/client.go @@ -11,8 +11,6 @@ import ( type Client struct { preparedStatements map[string]PreparedStatement portals map[string]Portal - - middleware.Nil } func NewClient() *Client { diff --git a/lib/middleware/middlewares/eqp/server.go b/lib/middleware/middlewares/eqp/server.go index a7c8884d..10f00b56 100644 --- a/lib/middleware/middlewares/eqp/server.go +++ b/lib/middleware/middlewares/eqp/server.go @@ -23,8 +23,6 @@ type Server struct { pendingCloses ring.Ring[Close] peer *Client - - middleware.Nil } func NewServer() *Server { diff --git a/lib/middleware/middlewares/eqp2/client.go b/lib/middleware/middlewares/eqp2/client.go new file mode 100644 index 00000000..b15458cd --- /dev/null +++ b/lib/middleware/middlewares/eqp2/client.go @@ -0,0 +1,21 @@ +package eqp2 + +import ( + "pggat/lib/fed" + "pggat/lib/middleware" +) + +type Client struct { +} + +func (T *Client) Read(ctx middleware.Context, packet fed.Packet) error { + // TODO implement me + panic("implement me") +} + +func (T *Client) Write(ctx middleware.Context, packet fed.Packet) error { + // TODO implement me + panic("implement me") +} + +var _ middleware.Middleware = (*Client)(nil) diff --git a/lib/middleware/middlewares/ps/client.go b/lib/middleware/middlewares/ps/client.go index e3970c8f..eaf0cbf2 100644 --- a/lib/middleware/middlewares/ps/client.go +++ b/lib/middleware/middlewares/ps/client.go @@ -12,8 +12,6 @@ import ( type Client struct { synced bool parameters map[strutil.CIString]string - - middleware.Nil } func NewClient(parameters map[strutil.CIString]string) *Client { @@ -22,6 +20,10 @@ func NewClient(parameters map[strutil.CIString]string) *Client { } } +func (T *Client) Read(_ middleware.Context, _ fed.Packet) error { + return nil +} + func (T *Client) Write(ctx middleware.Context, packet fed.Packet) error { switch packet.Type() { case packets.TypeParameterStatus: diff --git a/lib/middleware/middlewares/ps/server.go b/lib/middleware/middlewares/ps/server.go index 187d46e1..b397f07d 100644 --- a/lib/middleware/middlewares/ps/server.go +++ b/lib/middleware/middlewares/ps/server.go @@ -11,8 +11,6 @@ import ( type Server struct { parameters map[strutil.CIString]string - - middleware.Nil } func NewServer(parameters map[strutil.CIString]string) *Server { @@ -37,4 +35,8 @@ func (T *Server) Read(_ middleware.Context, packet fed.Packet) error { return nil } +func (T *Server) Write(_ middleware.Context, _ fed.Packet) error { + return nil +} + var _ middleware.Middleware = (*Server)(nil) diff --git a/lib/middleware/middlewares/unterminate/unterminate.go b/lib/middleware/middlewares/unterminate/unterminate.go index 3850e667..036ed9d3 100644 --- a/lib/middleware/middlewares/unterminate/unterminate.go +++ b/lib/middleware/middlewares/unterminate/unterminate.go @@ -12,9 +12,7 @@ import ( // Useful if you don't want to forward to the server and close the connection. var Unterminate = unterm{} -type unterm struct { - middleware.Nil -} +type unterm struct{} func (unterm) Read(_ middleware.Context, packet fed.Packet) error { if packet.Type() == packets.TypeTerminate { @@ -23,4 +21,8 @@ func (unterm) Read(_ middleware.Context, packet fed.Packet) error { return nil } +func (unterm) Write(_ middleware.Context, _ fed.Packet) error { + return nil +} + var _ middleware.Middleware = unterm{} diff --git a/lib/middleware/nil.go b/lib/middleware/nil.go deleted file mode 100644 index 4d838bb0..00000000 --- a/lib/middleware/nil.go +++ /dev/null @@ -1,15 +0,0 @@ -package middleware - -import "pggat/lib/fed" - -type Nil struct{} - -func (Nil) Read(_ Context, _ fed.Packet) error { - return nil -} - -func (Nil) Write(_ Context, _ fed.Packet) error { - return nil -} - -var _ Middleware = Nil{} -- GitLab