blob: 654028327f7f17f7d1fdade3438d0035d4cf6e6e [file] [log] [blame]
#ifndef AOS_NETWORK_TEAM_NUMBER_H_
#define AOS_NETWORK_TEAM_NUMBER_H_
#include <stdint.h>
#include <string>
namespace aos {
namespace network {
// Retrieves the current team number based off of the network address.
// This function will only do the complicated stuff once so it is cheap to call
// repeatedly.
uint16_t GetTeamNumber();
// Overrides the team number returned from GetTeamNumber(). Must be called
// before GetTeamNumber() is ever called.
// Overriding to team 0 won't work.
// Intended only for tests.
// Guaranteed to be safe to call during static initialization time.
void OverrideTeamNumber(uint16_t team);
namespace internal {
int ParseTeamNumber(const std::string &hostname, uint16_t *teamnumber);
} // namespace internal
} // namespace network
} // namespace aos
#endif // AOS_NETWORK_TEAM_NUMBER_H_