Hello rule patched

This commit is contained in:
Benjamin Lejeune 2022-02-22 10:03:52 +01:00
parent 9eb4e8204e
commit 09d4834cdf
3 changed files with 17 additions and 4 deletions

View File

@ -4,6 +4,7 @@ import (
"_StorBackEnd/pkg/network" "_StorBackEnd/pkg/network"
"_StorBackEnd/pkg/protocol/managers" "_StorBackEnd/pkg/protocol/managers"
"_StorBackEnd/pkg/protocol/repository" "_StorBackEnd/pkg/protocol/repository"
"_StorBackEnd/pkg/protocol/rules/readers"
"_StorBackEnd/pkg/protocol/rules/writers" "_StorBackEnd/pkg/protocol/rules/writers"
) )
@ -17,9 +18,15 @@ func main() {
println("StorBackEnd started !") println("StorBackEnd started !")
protocolRepository := repository.CreateProtocolRepository() protocolRepository := repository.CreateProtocolRepository()
helloRule := writers.CreateHelloRule("")
// Création des Writers
helloRule := writers.CreateHelloRule("^(HELLO) ([A-Za-z0-9]{5,20}) ([0-9]{1,5})\r\n$")
protocolRepository.AddWriter(&helloRule) protocolRepository.AddWriter(&helloRule)
// Création des Readers
eraseFileRule := readers.CreateEraseFileRule("^(ERASEFILE) ([A-Za-z0-9.]{50,200})\r\n$")
protocolRepository.AddReader(&eraseFileRule)
multicast := network.CreateClientMulticast(MULTICAST_ADDRESS, MULTICAST_SECOND, protocolRepository) multicast := network.CreateClientMulticast(MULTICAST_ADDRESS, MULTICAST_SECOND, protocolRepository)
go multicast.Run() go multicast.Run()

View File

@ -42,9 +42,9 @@ func (cMult ClientMulticast) Run() {
} }
// Fake test // Fake test
cmd, correct := cMult.repository.ExecuteWriter(writers.HelloRuleName, "benja.be", "5078") cmd, correct := cMult.repository.ExecuteWriter(writers.HelloRuleName, "benja", "5078")
if !correct { if !correct {
println("Hello rule isn't correct") println("[ClientMulticast] Hello rule isn't correct (" + cmd + ")")
return return
} }

View File

@ -30,5 +30,11 @@ func (m RegexMatcher) Build(cmd string, datas ...string) (string, bool) {
str += " " + data str += " " + data
} }
return str, m.Match(str) str += "\r\n"
if m.Match(str) {
return str, true
} else {
return "", false
}
} }