Mse à jours du système de réception message + fichier. Il reste à pouvoir vider correctement un fichier lorsqu'il est reçu
This commit is contained in:
@@ -32,12 +32,12 @@ func (server ServerUnicast) Run() {
|
||||
for { // TODO : Extraire cette partie de code
|
||||
reader := bufio.NewReader(con)
|
||||
line, err := reader.ReadString('\n')
|
||||
println("OK ") // TODO REMOVE
|
||||
println(line)
|
||||
println("AH " + line)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
result := server.ReqManager.Execute(line, reader)
|
||||
println("Réponse : ", result)
|
||||
_, _ = con.Write(append([]byte(result), '\n')) // TODO : ATTENTION laisser les \n
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ type RequestManager struct {
|
||||
func (receiver RequestManager) Execute(request string, reader *bufio.Reader) string {
|
||||
// On lis ce que l'on reçoit
|
||||
result, executed, readCb := receiver.Repository.ExecuteReader(request)
|
||||
|
||||
println("TESTTESTETTETT")
|
||||
// On renvoie la réponse (Comment pour fichier ?)
|
||||
if executed {
|
||||
if readCb != nil {
|
||||
@@ -23,6 +23,7 @@ func (receiver RequestManager) Execute(request string, reader *bufio.Reader) str
|
||||
}
|
||||
return result
|
||||
} else {
|
||||
println("HMMM")
|
||||
// TODO : Renvoyer qu'une erreur est survenue
|
||||
return "Error occurred while execute command"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package readers
|
||||
import (
|
||||
"StoreBackEnd/pkg/protocol"
|
||||
"bufio"
|
||||
"io"
|
||||
)
|
||||
|
||||
// SendFileRulePrefix Rule command prefix
|
||||
@@ -41,12 +42,24 @@ func (rule SendFileRule) Execute(data string) (string, bool, func(r *bufio.Reade
|
||||
|
||||
// function callback
|
||||
callback := func(r *bufio.Reader) (string, bool) {
|
||||
//var fileContent []byte
|
||||
// readedByte := -1
|
||||
/*
|
||||
for readedByte == -1 || readedByte > 0 {
|
||||
readedByte, _ = r.Read(fileContent)
|
||||
println("SendFileRule Reading file ", " - Hey - ", string(readedByte))
|
||||
}
|
||||
|
||||
return "", false
|
||||
*/
|
||||
var fileContent []byte
|
||||
readedCount, err := io.ReadFull(r, fileContent)
|
||||
println("Un test ici : ", readedCount, err)
|
||||
return "SEND_OK\r", true
|
||||
}
|
||||
return "SEND_OK\r\n", true, callback
|
||||
return "SEND_OK\r", true, callback
|
||||
} else {
|
||||
return "jjdjd", false, nil
|
||||
println("AHAHAHAHAHAHA")
|
||||
return "SEND_ERROR\r", false, nil
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user