"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import blickfeld.stream.connection_pb2
import builtins
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor = ...

class Server(google.protobuf.message.Message):
    """*
    This section defines the status of the network server.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
    class NetworkStats(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        class Channel(google.protobuf.message.Message):
            DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
            TOTAL_BYTE_COUNT_FIELD_NUMBER: builtins.int
            BYTES_PER_SECOND_FIELD_NUMBER: builtins.int
            MAXIMUM_BYTES_PER_SECOND_FIELD_NUMBER: builtins.int
            total_byte_count: builtins.int = ...
            bytes_per_second: builtins.float = ...
            maximum_bytes_per_second: builtins.float = ...
            def __init__(self,
                *,
                total_byte_count : typing.Optional[builtins.int] = ...,
                bytes_per_second : typing.Optional[builtins.float] = ...,
                maximum_bytes_per_second : typing.Optional[builtins.float] = ...,
                ) -> None: ...
            def HasField(self, field_name: typing_extensions.Literal[u"bytes_per_second",b"bytes_per_second",u"maximum_bytes_per_second",b"maximum_bytes_per_second",u"total_byte_count",b"total_byte_count"]) -> builtins.bool: ...
            def ClearField(self, field_name: typing_extensions.Literal[u"bytes_per_second",b"bytes_per_second",u"maximum_bytes_per_second",b"maximum_bytes_per_second",u"total_byte_count",b"total_byte_count"]) -> None: ...

        SENT_FIELD_NUMBER: builtins.int
        RECEIVED_FIELD_NUMBER: builtins.int
        DROPPED_MESSAGES_FIELD_NUMBER: builtins.int
        @property
        def sent(self) -> global___Server.NetworkStats.Channel: ...
        @property
        def received(self) -> global___Server.NetworkStats.Channel: ...
        dropped_messages: builtins.int = ...
        def __init__(self,
            *,
            sent : typing.Optional[global___Server.NetworkStats.Channel] = ...,
            received : typing.Optional[global___Server.NetworkStats.Channel] = ...,
            dropped_messages : typing.Optional[builtins.int] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"dropped_messages",b"dropped_messages",u"received",b"received",u"sent",b"sent"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"dropped_messages",b"dropped_messages",u"received",b"received",u"sent",b"sent"]) -> None: ...

    class Client(google.protobuf.message.Message):
        DESCRIPTOR: google.protobuf.descriptor.Descriptor = ...
        SUBSCRIPTIONS_FIELD_NUMBER: builtins.int
        NETWORK_STATS_FIELD_NUMBER: builtins.int
        IDENTIFIER_FIELD_NUMBER: builtins.int
        @property
        def subscriptions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[blickfeld.stream.connection_pb2.Subscribe]: ...
        @property
        def network_stats(self) -> global___Server.NetworkStats: ...
        identifier: typing.Text = ...
        def __init__(self,
            *,
            subscriptions : typing.Optional[typing.Iterable[blickfeld.stream.connection_pb2.Subscribe]] = ...,
            network_stats : typing.Optional[global___Server.NetworkStats] = ...,
            identifier : typing.Optional[typing.Text] = ...,
            ) -> None: ...
        def HasField(self, field_name: typing_extensions.Literal[u"identifier",b"identifier",u"network_stats",b"network_stats"]) -> builtins.bool: ...
        def ClearField(self, field_name: typing_extensions.Literal[u"identifier",b"identifier",u"network_stats",b"network_stats",u"subscriptions",b"subscriptions"]) -> None: ...

    CLIENTS_FIELD_NUMBER: builtins.int
    NETWORK_STATS_FIELD_NUMBER: builtins.int
    @property
    def clients(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Server.Client]: ...
    @property
    def network_stats(self) -> global___Server.NetworkStats: ...
    def __init__(self,
        *,
        clients : typing.Optional[typing.Iterable[global___Server.Client]] = ...,
        network_stats : typing.Optional[global___Server.NetworkStats] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal[u"network_stats",b"network_stats"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal[u"clients",b"clients",u"network_stats",b"network_stats"]) -> None: ...
global___Server = Server
