def __init__(self, protocol, name, header):
        """
        ctor
        @param name: topic name    
        @type  name: str:
        @param protocol: protocol implementation    
        @param protocol: UDPROSTransportProtocol 
        @param header: handshake header if transport handshake header was
        already read off of transport.
        @type  header: dict
        @throws TransportInitError: if transport cannot be initialized according to arguments
        """
        super(UDPROSTransport, self).__init__(protocol.direction, name=name)
        if not name:
            raise TransportInitError("Unable to initialize transport: name is not set")

        self.done = False
        self.header = header