Skip to content

Commit

Permalink
set deadlines
Browse files Browse the repository at this point in the history
  • Loading branch information
likeazir committed Aug 28, 2023
1 parent 6b143c5 commit 0c4ac39
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 4 deletions.
26 changes: 22 additions & 4 deletions fileretriever/fileclient.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,16 @@ func (f *FileClient) getPeerConn(path RemotePath) (net.Conn, string, error) {
time.Sleep(3 * time.Second)
}
conn, err := net.Dial("tcp", lowestPeer)
return conn, lowestPeer, err
if err != nil {
log.Warn().Err(err).Msg("Failed to get peer conn")
return nil, "", err
}
err = conn.SetDeadline(time.Now().Add(1 * time.Second))
if err != nil {
log.Warn().Msg("Failed to set deadline")
return nil, "", err
}
return conn, lowestPeer, nil
}

func (f *FileClient) FileInfo(path RemotePath) (*common.Finfo, error) {
Expand All @@ -157,7 +166,12 @@ func (f *FileClient) FileInfo(path RemotePath) (*common.Finfo, error) {
func (f *FileClient) netFileInfo(path RemotePath, peer string) (*common.Finfo, error) {
conn, err := net.Dial("tcp", peer)
if err != nil {
log.Debug().Err(err).Msg("Failed to get peer conn")
log.Warn().Err(err).Msg("Failed to get peer conn")
return nil, err
}
err = conn.SetDeadline(time.Now().Add(1 * time.Second))
if err != nil {
log.Warn().Err(err).Msg("Failed to set deadline")
return nil, err
}
defer conn.Close()
Expand Down Expand Up @@ -220,7 +234,6 @@ func (f *FileClient) netRead(path RemotePath, offset int, length int) ([]byte, e
log.Debug().Err(err).Msg("Failed to get peer conn")
return nil, err
}
err = conn.SetReadDeadline(time.Now().Add(1 * time.Second))
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -390,11 +403,16 @@ func (f *FileClient) ThisFsToInode(path RemotePath) uint64 {

func (f *FileClient) netReadDir(path RemotePath, peer string) ([]fuse.DirEntry, error) {
conn, err := net.Dial("tcp", peer)
defer conn.Close()
if err != nil {
log.Warn().Err(err).Msg("Failed to get peer conn")
return nil, err
}
defer conn.Close()
err = conn.SetDeadline(time.Now().Add(1 * time.Second))
if err != nil {
log.Warn().Err(err).Msg("Failed to set deadline")
return nil, err
}
write, err := conn.Write([]byte{READDIR_CONTENT})
if err != nil || write != 1 {
log.Warn().Err(err).Msg("Failed to write message type")
Expand Down
6 changes: 6 additions & 0 deletions fileretriever/fileserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
"net"
"os"
"strings"
"time"
)

const (
Expand Down Expand Up @@ -96,6 +97,11 @@ func (f *FileServer) handleGetFileInfo(conn net.Conn, request *FileRequest) {

func (f *FileServer) handleConn(conn net.Conn) {
defer conn.Close()
err := conn.SetDeadline(time.Now().Add(1 * time.Second))
if err != nil {
log.Warn().Msg("Failed to set deadline")
return
}
request := &FileRequest{}
messageType := make([]byte, 1)
n, err := conn.Read(messageType)
Expand Down

0 comments on commit 0c4ac39

Please sign in to comment.