This commit is contained in:
Gustavo J. A. M. Carneiro
2008-02-03 19:05:37 +00:00
3 changed files with 37 additions and 31 deletions

View File

@@ -14,7 +14,7 @@ The @command{ns-3} simulator is a discrete-event network
simulator targeted primarily for research and educational use.
The @uref{http://www.nsnam.org,,@command{ns-3} project}, started in
2006, is an open-source project. The goal of the project is to
build a new netework simulator primarily for research and educational use.
build a new network simulator primarily for research and educational use.
The purpose of this tutorial is to introduce new @command{ns-3} users to the
system in a structured way. It is sometimes difficult for new users to
@@ -31,14 +31,14 @@ into the workings of the system.
Primary documentation for the @command{ns-3} project is available in
three forms:
@itemize @bullet
@item ns-3 Manual: Documentation of the public APIs of the simulator
@item @uref{http://www.nsnam.org/doxygen/index.html,,ns-3 Doxygen/Manual}: Documentation of the public APIs of the simulator
@item Tutorial (this document)
@item ns-3 wiki (http://www.nsnam.org/wiki/index.php)
@item @uref{http://www.nsnam.org/wiki/index.php,, ns-3 wiki}
@end itemize
A few key points are worth noting at the onset:
@itemize @bullet
@item @command{ns-3} is not an extension of @command{ns-2}; it is a new
@item @command{ns-3} is not an extension of @uref{http://www.isi.edu/nsnam/ns,,ns-2}; it is a new
simulator. The two simulators are both written in C++ but @command{ns-3}
is a new simulator that does not support the @command{ns-2} APIs.
Some models from @command{ns-2} have already been ported from @command{ns-2}
@@ -322,11 +322,11 @@ There is a similar book on Multicast Sockets,
that covers material you may need to understand for the multicast examples.
@c ========================================================================
@c The Basics
@c Downloading and Compiling
@c ========================================================================
@node The-Basics
@chapter The Basics
@node Downloading and Compiling
@chapter Downloading and Compiling
@cindex Linux
@cindex Cygwin

View File

@@ -80,7 +80,7 @@ see @uref{http://www.nsnam.org/docs/tutorial.pdf}.
Part 1: Overview
* Overview::
* Resources::
* The-Basics::
* Downloading and Compiling::
* Some-Prerequisites::
* A-First-ns-3-Script::
Part 2: Details

View File

@@ -78,21 +78,24 @@ public:
* \param closeCompleted Callback invoked when the close operation is
* completed.
*/
void SetCloseCallback (Callback<void,Ptr<Socket> > closeCompleted);
void SetCloseCallback (Callback<void, Ptr<Socket> > closeCompleted);
/**
* \param connectionSucceeded this callback is invoked when the connection request
* initiated by the user is successfully completed. The callback is passed
* back a pointer to the same socket object.
* \param connectionFailed this callback is invoked when the connection request
* initiated by the user is unsuccessfully completed. The callback is passed
* back a pointer to the same socket object.
* \param halfClose XXX When exactly is this callback invoked ? If it invoked when the
* other side closes the connection ? Or when I call Close ?
* \param connectionSucceeded this callback is invoked when the
* connection request initiated by the user is successfully
* completed. The callback is passed back a pointer to
* the same socket object.
* \param connectionFailed this callback is invoked when the
* connection request initiated by the user is unsuccessfully
* completed. The callback is passed back a pointer to the
* same socket object.
* \param halfClose XXX When exactly is this callback invoked? If
* it invoked when the other side closes the connection ?
* Or when I call Close ?
*/
void SetConnectCallback (Callback<void, Ptr<Socket> > connectionSucceeded,
Callback<void, Ptr<Socket> > connectionFailed,
Callback<void, Ptr<Socket> > halfClose);
Callback<void, Ptr<Socket> > connectionFailed,
Callback<void, Ptr<Socket> > halfClose);
/**
* \brief Accept connection requests from remote hosts
* \param connectionRequest Callback for connection request from peer.
@@ -100,28 +103,31 @@ public:
* ip address and the port number of the connection originator.
* This callback must return true to accept the incoming connection,
* false otherwise. If the connection is accepted, the
* "newConnectionCreated" callback will be invoked later to give access
* to the user to the socket created to match this new connection. If the
* user does not explicitely specify this callback, all incoming
* connections will be refused.
* "newConnectionCreated" callback will be invoked later to
* give access to the user to the socket created to match
* this new connection. If the user does not explicitly
* specify this callback, all incoming connections will be refused.
* \param newConnectionCreated Callback for new connection: when a new
* is accepted, it is created and the corresponding socket is passed
* back to the user through this callback. This user callback is passed
* a pointer to the new socket, and the ip address and port number
* of the connection originator.
* back to the user through this callback. This user callback is
* passed a pointer to the new socket, and the ip address and
* port number of the connection originator.
* \param closeRequested Callback for connection close request from peer.
* XXX: when is this callback invoked ?
*/
void SetAcceptCallback (Callback<bool, Ptr<Socket>, const Address &> connectionRequest,
Callback<void, Ptr<Socket>, const Address&> newConnectionCreated,
Callback<void, Ptr<Socket> > closeRequested);
void SetAcceptCallback (Callback<bool, Ptr<Socket>,
const Address &> connectionRequest,
Callback<void, Ptr<Socket>,
const Address&> newConnectionCreated,
Callback<void, Ptr<Socket> > closeRequested);
void SetSendCallback (Callback<void, Ptr<Socket>, uint32_t> dataSent);
/**
* \brief Receive data
* \param receivedData Invoked whenever new data is received.
*
*/
void SetRecvCallback (Callback<void, Ptr<Socket>, Ptr<Packet>,const Address&> receivedData);
void SetRecvCallback (Callback<void, Ptr<Socket>, Ptr<Packet>,
const Address&> receivedData);
/**
* \param address the address to try to allocate