| Function silc_packet_stream_add_remote
 
 SYNOPSIS
 
    SilcPacketStream silc_packet_stream_add_remote(SilcPacketStream stream,
                                                   const char *remote_ip,
                                                   SilcUInt16 remote_port,
                                                   SilcPacket packet);
DESCRIPTION
    This function is used to add remote receivers in packet stream `stream'
    that has UDP/IP socket stream as the underlaying stream.  This function
    cannot be used with other type of streams.  This returns new packet
    stream context that can be used to send to and receive packets from
    the specified remote IP and remote port, or NULL on error.  The `stream'
    is the actual stream that is used to send and receive the data.
    When the parent `stream' receives packets from remote IP address
    and port that does not have its own remote packet stream, it returns
    the packet to the packet callback set for `stream'.  The sender's
    IP address and port can then be retrieved by using the
    silc_packet_get_sender function and to create new packet stream by
    calling this function.  After that, all packets from that IP address
    and port will be received by the new packet stream.
    If the `packet' is non-NULL it will be injected into the new packet
    stream as soon as the scheduler associated with `stream' schedules
    new tasks.  It can be used to inject an incoming packet to the stream.
    This interface is for connectionless UDP streams.  If it is possible
    to create connected stream it should be done for performance reasons.
EXAMPLE
    // Create parent packet stream, it can receive packets from anywhere
    listener = silc_net_udp_connect("0.0.0.0", 500, NULL, 0, schedule);
    parent = silc_packet_stream_create(engine, schedule, listener);
    ...
    // Received a packet to the parent stream, get the sender information.
    silc_packet_get_sender(packet, &ip, &port);
    // Create new packet stream for this remote location.
    remote = silc_packet_stream_add_remote(parent, ip, port, packet);
 
 
 
 |