osbrain.address
— osBrain address logic¶
Implementation of address-related features.
-
class
osbrain.address.
AgentAddress
(transport, address, kind, role, serializer)¶ Bases:
object
Agent address information consisting on the transport protocol, address, kind and role.
Parameters: - transport : str, AgentAddressTransport
Agent transport protocol.
- address : str
Agent address.
- kind : str, AgentAddressKind
Agent kind.
- role : str, AgentAddressRole
Agent role.
- serializer : str
Agent serializer type.
Attributes: - transport : str, AgentAddressTransport
Agent transport protocol.
- address : str, SocketAddress
Agent address.
- kind : AgentAddressKind
Agent kind.
- role : AgentAddressRole
Agent role.
- serializer : AgentAddressSerializer
Agent serializer.
Methods
twin
()Return the twin address of the current one. -
twin
()¶ Return the twin address of the current one.
While the
host
andport
are kept for the twin, thekind
androle
change to their corresponding twins, according to the rules defined in the respective classes.Returns: - AgentAddress
The twin address of the current one.
-
class
osbrain.address.
AgentAddressKind
¶ Bases:
str
Agent’s address kind class.
This kind represents the communication pattern being used by the agent address: REP, PULL, PUB…
Methods
capitalize
()Return a capitalized version of S, i.e. casefold
()Return a version of S suitable for caseless comparisons. center
(width[, fillchar])Return S centered in a string of length width. count
(sub[, start[, end]])Return the number of non-overlapping occurrences of substring sub in string S[start:end]. encode
([encoding, errors])Encode S using the codec registered for encoding. endswith
(suffix[, start[, end]])Return True if S ends with the specified suffix, False otherwise. expandtabs
([tabsize])Return a copy of S where all tab characters are expanded using spaces. find
(sub[, start[, end]])Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. format
(*args, **kwargs)Return a formatted version of S, using substitutions from args and kwargs. format_map
(mapping)Return a formatted version of S, using substitutions from mapping. index
(sub[, start[, end]])Like S.find() but raise ValueError when the substring is not found. isalnum
()Return True if all characters in S are alphanumeric and there is at least one character in S, False otherwise. isalpha
()Return True if all characters in S are alphabetic and there is at least one character in S, False otherwise. isdecimal
()Return True if there are only decimal characters in S, False otherwise. isdigit
()Return True if all characters in S are digits and there is at least one character in S, False otherwise. isidentifier
()Return True if S is a valid identifier according to the language definition. islower
()Return True if all cased characters in S are lowercase and there is at least one cased character in S, False otherwise. isnumeric
()Return True if there are only numeric characters in S, False otherwise. isprintable
()Return True if all characters in S are considered printable in repr() or S is empty, False otherwise. isspace
()Return True if all characters in S are whitespace and there is at least one character in S, False otherwise. istitle
()Return True if S is a titlecased string and there is at least one character in S, i.e. isupper
()Return True if all cased characters in S are uppercase and there is at least one cased character in S, False otherwise. join
(iterable)Return a string which is the concatenation of the strings in the iterable. ljust
(width[, fillchar])Return S left-justified in a Unicode string of length width. lower
()Return a copy of the string S converted to lowercase. lstrip
([chars])Return a copy of the string S with leading whitespace removed. maketrans
(x[, y, z])Return a translation table usable for str.translate(). partition
(sep)Search for the separator sep in S, and return the part before it, the separator itself, and the part after it. replace
(old, new[, count])Return a copy of S with all occurrences of substring old replaced by new. requires_handler
()Whether the Agent’s address kind requires a handler or not. rfind
(sub[, start[, end]])Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. rindex
(sub[, start[, end]])Like S.rfind() but raise ValueError when the substring is not found. rjust
(width[, fillchar])Return S right-justified in a string of length width. rpartition
(sep)Search for the separator sep in S, starting at the end of S, and return the part before it, the separator itself, and the part after it. rsplit
([sep, maxsplit])Return a list of the words in S, using sep as the delimiter string, starting at the end of the string and working to the front. rstrip
([chars])Return a copy of the string S with trailing whitespace removed. split
([sep, maxsplit])Return a list of the words in S, using sep as the delimiter string. splitlines
([keepends])Return a list of the lines in S, breaking at line boundaries. startswith
(prefix[, start[, end]])Return True if S starts with the specified prefix, False otherwise. strip
([chars])Return a copy of the string S with leading and trailing whitespace removed. swapcase
()Return a copy of S with uppercase characters converted to lowercase and vice versa. title
()Return a titlecased version of S, i.e. translate
(table)Return a copy of the string S in which each character has been mapped through the given translation table. twin
()Get the twin kind of the current one. upper
()Return a copy of S converted to uppercase. zfill
(width)Pad a numeric string S with zeros on the left, to fill a field of the specified width. zmq
()Get the equivalent ZeroMQ socket kind. -
REQUIRE_HANDLER
= ('REP', 'PULL', 'SUB', 'PULL_SYNC_PUB')¶
-
TWIN
= {'PUB': 'SUB', 'PULL': 'PUSH', 'PULL_SYNC_PUB': 'PUSH_SYNC_SUB', 'PUSH': 'PULL', 'PUSH_SYNC_SUB': 'PULL_SYNC_PUB', 'REP': 'REQ', 'REQ': 'REP', 'SUB': 'PUB'}¶
-
ZMQ_KIND_CONVERSION
= {'PUB': 1, 'PULL': 7, 'PULL_SYNC_PUB': 7, 'PUSH': 8, 'PUSH_SYNC_SUB': 8, 'REP': 4, 'REQ': 3, 'SUB': 2}¶
-
requires_handler
()¶ Whether the Agent’s address kind requires a handler or not. A socket which processes incoming messages would require a handler (i.e. ‘REP’, ‘PULL’, ‘SUB’…).
Returns: - bool
-
twin
()¶ Get the twin kind of the current one.
REQ
would be the twin ofREP
and viceversa,PUB
would be the twin ofSUB
and viceversa, etc.Returns: - AgentAddressKind
The twin kind of the current one.
-
zmq
()¶ Get the equivalent ZeroMQ socket kind.
Returns: - int
-
-
class
osbrain.address.
AgentAddressRole
¶ Bases:
str
Agent’s address role class. It can either be ‘server’ or ‘client’.
Methods
capitalize
()Return a capitalized version of S, i.e. casefold
()Return a version of S suitable for caseless comparisons. center
(width[, fillchar])Return S centered in a string of length width. count
(sub[, start[, end]])Return the number of non-overlapping occurrences of substring sub in string S[start:end]. encode
([encoding, errors])Encode S using the codec registered for encoding. endswith
(suffix[, start[, end]])Return True if S ends with the specified suffix, False otherwise. expandtabs
([tabsize])Return a copy of S where all tab characters are expanded using spaces. find
(sub[, start[, end]])Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. format
(*args, **kwargs)Return a formatted version of S, using substitutions from args and kwargs. format_map
(mapping)Return a formatted version of S, using substitutions from mapping. index
(sub[, start[, end]])Like S.find() but raise ValueError when the substring is not found. isalnum
()Return True if all characters in S are alphanumeric and there is at least one character in S, False otherwise. isalpha
()Return True if all characters in S are alphabetic and there is at least one character in S, False otherwise. isdecimal
()Return True if there are only decimal characters in S, False otherwise. isdigit
()Return True if all characters in S are digits and there is at least one character in S, False otherwise. isidentifier
()Return True if S is a valid identifier according to the language definition. islower
()Return True if all cased characters in S are lowercase and there is at least one cased character in S, False otherwise. isnumeric
()Return True if there are only numeric characters in S, False otherwise. isprintable
()Return True if all characters in S are considered printable in repr() or S is empty, False otherwise. isspace
()Return True if all characters in S are whitespace and there is at least one character in S, False otherwise. istitle
()Return True if S is a titlecased string and there is at least one character in S, i.e. isupper
()Return True if all cased characters in S are uppercase and there is at least one cased character in S, False otherwise. join
(iterable)Return a string which is the concatenation of the strings in the iterable. ljust
(width[, fillchar])Return S left-justified in a Unicode string of length width. lower
()Return a copy of the string S converted to lowercase. lstrip
([chars])Return a copy of the string S with leading whitespace removed. maketrans
(x[, y, z])Return a translation table usable for str.translate(). partition
(sep)Search for the separator sep in S, and return the part before it, the separator itself, and the part after it. replace
(old, new[, count])Return a copy of S with all occurrences of substring old replaced by new. rfind
(sub[, start[, end]])Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. rindex
(sub[, start[, end]])Like S.rfind() but raise ValueError when the substring is not found. rjust
(width[, fillchar])Return S right-justified in a string of length width. rpartition
(sep)Search for the separator sep in S, starting at the end of S, and return the part before it, the separator itself, and the part after it. rsplit
([sep, maxsplit])Return a list of the words in S, using sep as the delimiter string, starting at the end of the string and working to the front. rstrip
([chars])Return a copy of the string S with trailing whitespace removed. split
([sep, maxsplit])Return a list of the words in S, using sep as the delimiter string. splitlines
([keepends])Return a list of the lines in S, breaking at line boundaries. startswith
(prefix[, start[, end]])Return True if S starts with the specified prefix, False otherwise. strip
([chars])Return a copy of the string S with leading and trailing whitespace removed. swapcase
()Return a copy of S with uppercase characters converted to lowercase and vice versa. title
()Return a titlecased version of S, i.e. translate
(table)Return a copy of the string S in which each character has been mapped through the given translation table. twin
()Get the twin role of the current one. upper
()Return a copy of S converted to uppercase. zfill
(width)Pad a numeric string S with zeros on the left, to fill a field of the specified width. -
twin
()¶ Get the twin role of the current one.
server
would be the twin ofclient
and viceversa.Returns: - AgentAddressRole
The twin role.
-
-
class
osbrain.address.
AgentAddressSerializer
(value)¶ Bases:
str
Agent’s address serializer class.
Each communication channel will have a serializer.
Note that for
raw
message passing, everything must be on bytes, and the programmer is the one responsible for converting data to bytes.Parameters: - serializer_type : str
Serializer type (i.e.: ‘raw’, ‘pickle’, ‘cloudpickle’, ‘dill’, ‘json’).
Methods
capitalize
()Return a capitalized version of S, i.e. casefold
()Return a version of S suitable for caseless comparisons. center
(width[, fillchar])Return S centered in a string of length width. count
(sub[, start[, end]])Return the number of non-overlapping occurrences of substring sub in string S[start:end]. encode
([encoding, errors])Encode S using the codec registered for encoding. endswith
(suffix[, start[, end]])Return True if S ends with the specified suffix, False otherwise. expandtabs
([tabsize])Return a copy of S where all tab characters are expanded using spaces. find
(sub[, start[, end]])Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. format
(*args, **kwargs)Return a formatted version of S, using substitutions from args and kwargs. format_map
(mapping)Return a formatted version of S, using substitutions from mapping. index
(sub[, start[, end]])Like S.find() but raise ValueError when the substring is not found. isalnum
()Return True if all characters in S are alphanumeric and there is at least one character in S, False otherwise. isalpha
()Return True if all characters in S are alphabetic and there is at least one character in S, False otherwise. isdecimal
()Return True if there are only decimal characters in S, False otherwise. isdigit
()Return True if all characters in S are digits and there is at least one character in S, False otherwise. isidentifier
()Return True if S is a valid identifier according to the language definition. islower
()Return True if all cased characters in S are lowercase and there is at least one cased character in S, False otherwise. isnumeric
()Return True if there are only numeric characters in S, False otherwise. isprintable
()Return True if all characters in S are considered printable in repr() or S is empty, False otherwise. isspace
()Return True if all characters in S are whitespace and there is at least one character in S, False otherwise. istitle
()Return True if S is a titlecased string and there is at least one character in S, i.e. isupper
()Return True if all cased characters in S are uppercase and there is at least one cased character in S, False otherwise. join
(iterable)Return a string which is the concatenation of the strings in the iterable. ljust
(width[, fillchar])Return S left-justified in a Unicode string of length width. lower
()Return a copy of the string S converted to lowercase. lstrip
([chars])Return a copy of the string S with leading whitespace removed. maketrans
(x[, y, z])Return a translation table usable for str.translate(). partition
(sep)Search for the separator sep in S, and return the part before it, the separator itself, and the part after it. replace
(old, new[, count])Return a copy of S with all occurrences of substring old replaced by new. rfind
(sub[, start[, end]])Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. rindex
(sub[, start[, end]])Like S.rfind() but raise ValueError when the substring is not found. rjust
(width[, fillchar])Return S right-justified in a string of length width. rpartition
(sep)Search for the separator sep in S, starting at the end of S, and return the part before it, the separator itself, and the part after it. rsplit
([sep, maxsplit])Return a list of the words in S, using sep as the delimiter string, starting at the end of the string and working to the front. rstrip
([chars])Return a copy of the string S with trailing whitespace removed. split
([sep, maxsplit])Return a list of the words in S, using sep as the delimiter string. splitlines
([keepends])Return a list of the lines in S, breaking at line boundaries. startswith
(prefix[, start[, end]])Return True if S starts with the specified prefix, False otherwise. strip
([chars])Return a copy of the string S with leading and trailing whitespace removed. swapcase
()Return a copy of S with uppercase characters converted to lowercase and vice versa. title
()Return a titlecased version of S, i.e. translate
(table)Return a copy of the string S in which each character has been mapped through the given translation table. upper
()Return a copy of S converted to uppercase. zfill
(width)Pad a numeric string S with zeros on the left, to fill a field of the specified width. -
SERIALIZER_SEPARATOR
= ('pickle', 'cloudpickle', 'dill', 'json')¶
-
SERIALIZER_SIMPLE
= ('raw',)¶
-
class
osbrain.address.
AgentAddressTransport
¶ Bases:
str
Agent’s address transport class. It can be ‘tcp’, ‘ipc’ or ‘inproc’.
Methods
capitalize
()Return a capitalized version of S, i.e. casefold
()Return a version of S suitable for caseless comparisons. center
(width[, fillchar])Return S centered in a string of length width. count
(sub[, start[, end]])Return the number of non-overlapping occurrences of substring sub in string S[start:end]. encode
([encoding, errors])Encode S using the codec registered for encoding. endswith
(suffix[, start[, end]])Return True if S ends with the specified suffix, False otherwise. expandtabs
([tabsize])Return a copy of S where all tab characters are expanded using spaces. find
(sub[, start[, end]])Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. format
(*args, **kwargs)Return a formatted version of S, using substitutions from args and kwargs. format_map
(mapping)Return a formatted version of S, using substitutions from mapping. index
(sub[, start[, end]])Like S.find() but raise ValueError when the substring is not found. isalnum
()Return True if all characters in S are alphanumeric and there is at least one character in S, False otherwise. isalpha
()Return True if all characters in S are alphabetic and there is at least one character in S, False otherwise. isdecimal
()Return True if there are only decimal characters in S, False otherwise. isdigit
()Return True if all characters in S are digits and there is at least one character in S, False otherwise. isidentifier
()Return True if S is a valid identifier according to the language definition. islower
()Return True if all cased characters in S are lowercase and there is at least one cased character in S, False otherwise. isnumeric
()Return True if there are only numeric characters in S, False otherwise. isprintable
()Return True if all characters in S are considered printable in repr() or S is empty, False otherwise. isspace
()Return True if all characters in S are whitespace and there is at least one character in S, False otherwise. istitle
()Return True if S is a titlecased string and there is at least one character in S, i.e. isupper
()Return True if all cased characters in S are uppercase and there is at least one cased character in S, False otherwise. join
(iterable)Return a string which is the concatenation of the strings in the iterable. ljust
(width[, fillchar])Return S left-justified in a Unicode string of length width. lower
()Return a copy of the string S converted to lowercase. lstrip
([chars])Return a copy of the string S with leading whitespace removed. maketrans
(x[, y, z])Return a translation table usable for str.translate(). partition
(sep)Search for the separator sep in S, and return the part before it, the separator itself, and the part after it. replace
(old, new[, count])Return a copy of S with all occurrences of substring old replaced by new. rfind
(sub[, start[, end]])Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. rindex
(sub[, start[, end]])Like S.rfind() but raise ValueError when the substring is not found. rjust
(width[, fillchar])Return S right-justified in a string of length width. rpartition
(sep)Search for the separator sep in S, starting at the end of S, and return the part before it, the separator itself, and the part after it. rsplit
([sep, maxsplit])Return a list of the words in S, using sep as the delimiter string, starting at the end of the string and working to the front. rstrip
([chars])Return a copy of the string S with trailing whitespace removed. split
([sep, maxsplit])Return a list of the words in S, using sep as the delimiter string. splitlines
([keepends])Return a list of the lines in S, breaking at line boundaries. startswith
(prefix[, start[, end]])Return True if S starts with the specified prefix, False otherwise. strip
([chars])Return a copy of the string S with leading and trailing whitespace removed. swapcase
()Return a copy of S with uppercase characters converted to lowercase and vice versa. title
()Return a titlecased version of S, i.e. translate
(table)Return a copy of the string S in which each character has been mapped through the given translation table. upper
()Return a copy of S converted to uppercase. zfill
(width)Pad a numeric string S with zeros on the left, to fill a field of the specified width.
-
class
osbrain.address.
AgentChannel
(kind, receiver, sender, twin_uuid=None)¶ Bases:
object
Agent channel information.
Channels are communication means with sender and receiver in both sides (i.e.: PULL+PUB - PUSH-SUB or PULL+PUSH - PUSH+PULL).
Parameters: - kind : AgentChannelKind
Agent kind.
- sender : str
First AgentAddress.
- receiver : str
Second AgentAddress.
Attributes: - kind : AgentChannelKind
Agent kind.
- sender : str
First AgentAddress.
- receiver : str
Second AgentAddress.
Methods
twin
()Get the twin channel of the current one. -
twin
()¶ Get the twin channel of the current one.
Returns: - AgentChannel
The twin channel.
-
class
osbrain.address.
AgentChannelKind
¶ Bases:
str
Agent’s channel kind class.
This kind represents the communication pattern being used by the agent channel: ASYNC_REP, STREAM…
Methods
capitalize
()Return a capitalized version of S, i.e. casefold
()Return a version of S suitable for caseless comparisons. center
(width[, fillchar])Return S centered in a string of length width. count
(sub[, start[, end]])Return the number of non-overlapping occurrences of substring sub in string S[start:end]. encode
([encoding, errors])Encode S using the codec registered for encoding. endswith
(suffix[, start[, end]])Return True if S ends with the specified suffix, False otherwise. expandtabs
([tabsize])Return a copy of S where all tab characters are expanded using spaces. find
(sub[, start[, end]])Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end]. format
(*args, **kwargs)Return a formatted version of S, using substitutions from args and kwargs. format_map
(mapping)Return a formatted version of S, using substitutions from mapping. index
(sub[, start[, end]])Like S.find() but raise ValueError when the substring is not found. isalnum
()Return True if all characters in S are alphanumeric and there is at least one character in S, False otherwise. isalpha
()Return True if all characters in S are alphabetic and there is at least one character in S, False otherwise. isdecimal
()Return True if there are only decimal characters in S, False otherwise. isdigit
()Return True if all characters in S are digits and there is at least one character in S, False otherwise. isidentifier
()Return True if S is a valid identifier according to the language definition. islower
()Return True if all cased characters in S are lowercase and there is at least one cased character in S, False otherwise. isnumeric
()Return True if there are only numeric characters in S, False otherwise. isprintable
()Return True if all characters in S are considered printable in repr() or S is empty, False otherwise. isspace
()Return True if all characters in S are whitespace and there is at least one character in S, False otherwise. istitle
()Return True if S is a titlecased string and there is at least one character in S, i.e. isupper
()Return True if all cased characters in S are uppercase and there is at least one cased character in S, False otherwise. join
(iterable)Return a string which is the concatenation of the strings in the iterable. ljust
(width[, fillchar])Return S left-justified in a Unicode string of length width. lower
()Return a copy of the string S converted to lowercase. lstrip
([chars])Return a copy of the string S with leading whitespace removed. maketrans
(x[, y, z])Return a translation table usable for str.translate(). partition
(sep)Search for the separator sep in S, and return the part before it, the separator itself, and the part after it. replace
(old, new[, count])Return a copy of S with all occurrences of substring old replaced by new. rfind
(sub[, start[, end]])Return the highest index in S where substring sub is found, such that sub is contained within S[start:end]. rindex
(sub[, start[, end]])Like S.rfind() but raise ValueError when the substring is not found. rjust
(width[, fillchar])Return S right-justified in a string of length width. rpartition
(sep)Search for the separator sep in S, starting at the end of S, and return the part before it, the separator itself, and the part after it. rsplit
([sep, maxsplit])Return a list of the words in S, using sep as the delimiter string, starting at the end of the string and working to the front. rstrip
([chars])Return a copy of the string S with trailing whitespace removed. split
([sep, maxsplit])Return a list of the words in S, using sep as the delimiter string. splitlines
([keepends])Return a list of the lines in S, breaking at line boundaries. startswith
(prefix[, start[, end]])Return True if S starts with the specified prefix, False otherwise. strip
([chars])Return a copy of the string S with leading and trailing whitespace removed. swapcase
()Return a copy of S with uppercase characters converted to lowercase and vice versa. title
()Return a titlecased version of S, i.e. translate
(table)Return a copy of the string S in which each character has been mapped through the given translation table. twin
()Get the twin kind of the current one. upper
()Return a copy of S converted to uppercase. zfill
(width)Pad a numeric string S with zeros on the left, to fill a field of the specified width. -
TWIN
= {'ASYNC_REP': 'ASYNC_REQ', 'ASYNC_REQ': 'ASYNC_REP', 'SYNC_PUB': 'SYNC_SUB', 'SYNC_SUB': 'SYNC_PUB'}¶
-
twin
()¶ Get the twin kind of the current one.
REQ
would be the twin ofREP
and viceversa,PUB
would be the twin ofSUB
and viceversa, etc.Returns: - AgentChannelKind
-
-
class
osbrain.address.
SocketAddress
(host, port)¶ Bases:
object
Socket address information consisting on the host and port.
Parameters: - host : str, ipaddress.IPv4Address
IP address.
- port : int
Port number.
Attributes: - host : ipaddress.IPv4Address
IP address.
- port : int
Port number.
-
osbrain.address.
address_to_host_port
(addr)¶ Try to convert an address to a (host, port) tuple.
Parameters: - addr : str, SocketAddress
Returns: - tuple
A (host, port) tuple formed with the corresponding data.
-
osbrain.address.
guess_kind
(kind)¶ Guess if a kind string is an AgentAddressKind or AgentChannelKind.
Parameters: - kind : str
The AgentAddressKind or AgentChannelKind in string format.
Returns: - AgentAddressKind or AgentChannelKind
The actual kind type.