protocol.go 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright © 2022 Ettore Di Giacinto <[email protected]>
  2. //
  3. // This program is free software; you can redistribute it and/or modify
  4. // it under the terms of the GNU General Public License as published by
  5. // the Free Software Foundation; either version 2 of the License, or
  6. // (at your option) any later version.
  7. //
  8. // This program is distributed in the hope that it will be useful,
  9. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. // GNU General Public License for more details.
  12. //
  13. // You should have received a copy of the GNU General Public License along
  14. // with this program; if not, see <http://www.gnu.org/licenses/>.
  15. package protocol
  16. import (
  17. p2pprotocol "github.com/libp2p/go-libp2p-core/protocol"
  18. )
  19. const (
  20. EdgeVPN Protocol = "/edgevpn/0.1"
  21. ServiceProtocol Protocol = "/edgevpn/service/0.1"
  22. FileProtocol Protocol = "/edgevpn/file/0.1"
  23. EgressProtocol Protocol = "/edgevpn/egress/0.1"
  24. )
  25. const (
  26. FilesLedgerKey = "files"
  27. MachinesLedgerKey = "machines"
  28. ServicesLedgerKey = "services"
  29. UsersLedgerKey = "users"
  30. HealthCheckKey = "healthcheck"
  31. DNSKey = "dns"
  32. EgressService = "egress"
  33. )
  34. type Protocol string
  35. func (p Protocol) ID() p2pprotocol.ID {
  36. return p2pprotocol.ID(string(p))
  37. }