## 6 Results and Discussion
### Understanding the FSF Performance  
To better understand the factors impacting the performance of our FSF algorithm, we implemented and analysed three variants of the FSF algorithm:  
* **FSF with social-based Buffer Management (FSF+BM)--**We want to evaluate the impact of using a buffer management algorithm to favour the FSF forwarding. According to [49], the message scheduling and discarding strategy can strongly impact the routing performance in OppNets. When the nodes buffers are limited, nodes can soon operate close to their maximum storage capacity. When node A tries to forward a message, but there is no space in the receiving buffer of node B, B should drop one or more stored messages. The best choice is to preserve the messages with a high probability of being forwarded in future contact opportunities. Moreover, during a contact opportunity, every node must decide which messages it should forward. This is a crucial issue since the contact duration cannot be long enough to the exchange of all messages they would like to. Thus, we selected the social-based algorithm called Friendly-Drop [50] as the buffer management algorithm. * **FSF without Energy Constraint (FSFwEC)--**We want to evaluate the impact of power constrained nodes over the FSF performance. In forwarding events, nodes consume more energy, and thus their energy level is not enough to take part in the network. In this scenario, we selected the Drop Oldest as the buffer management algorithm. * **FSF without Selfish Nodes (FSFwSN)--**We want to evaluate the impact over the FSF performance when there are no selfish nodes. The nodes may refuse to accept messages if they are under resource constraints. In this scenario, we selected the Drop Oldest as the buffer management algorithm. The rest of the simulation parameters are the same as presented in Table 1.  
Figures 11-13 depict the simulation results when we increased the message TTL in the four tested mobility scenarios. The algorithms exhibit an increasing delivery ratio when compared to the original FSF implementation. The lack of selfish nodes led to a higher delivery ratio. With no power constraints, more messages arrive at their destination, making it clear that, when operating near to their energy capacity, nodes increase their selfish behaviour, and hence having an impact on the delivery ratio. Although the FSF+BM did not achieve the best results, one can note a higher delivery ratio compared to the original FSF implementation. Figure 10: Average cost when varying the buffer size. Regarding the delivery delay and the average cost, compared to the original implementation, the behaviour of the algorithms was similar: the higher the message TTL is, the longer the average delay and the higher the average cost (e.g., the Cambridge and NCCU scenarios). With respect to the delivery delay, a reasonable justification for this result relates to the increase in the delivery ratio achieved by the algorithms tested. On the other hand, the absence of selfish nodes and energy constraints contributes to increasing the average forwarding number required to successfully deliver a message. In the original FSF implementation, a reasonable number of nodes is selected as a relay, but those nodes may refuse to accept the message because they are selfish or they are facing energy constraints at that moment. It clearly decreases the amount of forwarding, as well as the probability of message delivery. Figure 11: Delivery ratio when increasing the message TTL. Figure 12: Delivery delay when increasing the message TTL. Figure 14-16 summarize the simulation results when increasing the buffer size. Once again, the delivery ratio of the FSFwSN was higher, while the FSFwEC achieved the second best result. Notice that, again, all the implementations achieved a higher delivery rate when compared to the original FSF implementation. It is worth highlighting that, in scenarios like Reality and Sassy, there is no significant difference in the performance of FSF+BM and FSFwEC.