Skip to content
This repository has been archived by the owner on Jun 20, 2024. It is now read-only.

Commit

Permalink
fix: refactor read message function
Browse files Browse the repository at this point in the history
  • Loading branch information
dmitryburov committed Mar 3, 2023
1 parent 2aed9cd commit 428b1b8
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 17 deletions.
16 changes: 2 additions & 14 deletions internal/delivery/websocket/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func (c *client) Run(ctx context.Context) error {
return err
}

message, err := c.readMessage()
message, err := c.conn.ReadData()
if err != nil {
c.logger.Error(err)
return err
Expand Down Expand Up @@ -97,25 +97,13 @@ func (c *client) Run(ctx context.Context) error {
return nil
}

// readMessage from socket response
func (c *client) readMessage() ([]byte, error) {
var message = make([]byte, 1024*1024) //TODO need change global? 1MB

n, err := c.conn.ReadData(message)
if err != nil {
return nil, err
}

return message[:n], nil
}

// responseReader write to symbol channel from response socket data
func (c *client) responseReader(symbol string, hMap map[string]chan entity.Ticker) error {
var mu = sync.Mutex{}
var tickData *coinbase.Response

for {
message, err := c.readMessage()
message, err := c.conn.ReadData()
if err != nil {
if errors.Is(err, net.ErrClosed) {
break
Expand Down
11 changes: 9 additions & 2 deletions pkg/exchange/coinbase/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,15 @@ func (c *client) WriteData(message []byte) (int, error) {
return c.Write(message)
}

func (c *client) ReadData(data []byte) (int, error) {
return c.Read(data)
func (c *client) ReadData() ([]byte, error) {
var message = make([]byte, 512) //TODO need change global? 1MB

n, err := c.Read(message)
if err != nil {
return nil, err
}

return message[:n], nil
}

func (c *client) CloseConnection() error {
Expand Down
2 changes: 1 addition & 1 deletion pkg/exchange/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ type Manager interface {
// WriteData command write data to exchange connection
WriteData(message []byte) (int, error)
// ReadData command is reading from receiver data
ReadData(data []byte) (int, error)
ReadData() ([]byte, error)
}

0 comments on commit 428b1b8

Please sign in to comment.