|
The node_address type specifies the node address in a communication-protocol-independent way. The actual address is obtained via a configuration dependent mapping function |
|
The port type specifies the information that is necessary to get in contact with the thread in the receiving node, in a protocol-independent way. The actual port number is obtained via a configuration dependent mapping function |
|
This operation associates a send endpoint with a server, which means that messages sent through that endpoint will consume the server's reserved bandwidth and its packets will be sent according to the contract established for that server. If the endpoint is already bound to another server, it is effectively unbound from it and bound to the specified one.
|
|
This operation creates a receive endpoint with all the information that is necessary to receive information from the specified network and port
|
|
This operation creates a unidirectional input data endpoint through which, after the corresponding binding, it is possible to send data. network_id identifies the network to use, receiver specifies the communication protocol dependent information that is necessary to address the receiving node, and port specifies the communication protocol dependent information that is necessary to get in contact with the desired destination.
|
|
This operation eliminates any resources reserved for the given endpoint. After callling this operation the endpoint can not be further used to invoke receive operations on it.
|
|
This operation eliminates any resources reserved for the referenced endpoint. If the endpoint is bound to a network server, it is unbound from it and can not be further used to invoke send operations on it.
|
|
This operation puts the network identification corresponding to the contract parameters object pointed to by contract in the variable pointed to by network_id. If the contract is not a network one and therefore has not a network_id set, it puts the FSF_NULL_NETWORK_ID constant instead.
|
|
This operation copies the id of the server that is bound to the specified send endpoint into the variable pointed to by server.
|
|
This operation returns in the variables network_id, and port, the corresponding parameters used in the creation of the given receive endpoint.
|
|
This operation returns (except for those NULL arguments) in the variables pointed to by network_id, receiver, or port, the corresponding parameters used in the creation of the given send endpoint.
|
|
This operation is used to obtain the maximum number of packets of which a message can be formed, for the specified network. A message is defined as the piece of information used in a send operation. Since the value returned by this operation is measured in packet units, the effective size can be calculated multiplying this value by the size of a packet. When the value returned by this operation is larger than 1 it means the implementation will make the partition of messages into packets and its recomposition at the receiving node.
|
|
This operation puts in the variable pointed to by packet_size the maximum number of bytes that can be sent in a packet through the network designated by network_id. It is usually a configuration value and it helps the user application to calculate the number of packets it will need to reserve for the periodic transmision of its messages and prepare the corresponding contracts.
|
|
This operation is used to calculate a budget represented as a time magnitude, for a specified network. If succesful, the operation puts in the variable pointed to by budget the transmission time that it takes to send a packet through the network designated by network_id, when there is no contention, but including any network overheads.
|
|
If there are no messages available in the specified receive endpoint this operation blocks the calling thread waiting for a message to be received. When a message is available, if its size is less than or equal to the buffersize, the function stores it in the variable pointed to by buffer and puts the number of bytes received in the variable pointed to by messagesize. Messages arriving at a receiver buffer that is full will be silently discarded. The application is responsible of reading the receive endpoints with appropriate regularity, or of using a sequence number or some other mechanism to detect any lost messages.
|
|
This operation sends a message stored in msg and of length size through the given endpoint. The operation is non-blocking and returns immediately. An internal fsf service will schedule the sending of messages and implement the communications sporadic server corresponding to the network server bound to the given endpoint. Messages sent through the same endpoint are received in the same order in which they were sent
|
|
This operation sets the network id attribute in the contract pointed to by contract, to the value specified by network_id. When a contract is negotiated, if network_id is FSF_NULL_NETWORK_ID (which is the default value) the contract is negotiated for the processing capacity of the node making the call. If network_id represents a valid network identifier, the negotiation is carried out for the specified network.
|
|
This operation is the same as fsf_receive, except that if there are no messages available in the specified receive endpoint at the time of the call the operation returns with an error
|
|
This operation unbinds a send endpoint from a server. Endpoints with no server associated cannot be used to send data, and they stay in that state until they are either eliminated or bound again.
|