@@ -152,9 +152,10 @@ VirtioNet::VirtioNet(hw::PCI_Device& d)
152152 if (is_msix ())
153153 {
154154 // for now use service queues, otherwise stress test fails
155- auto recv_del (delegate<void ()>::from<VirtioNet,&VirtioNet::msix_recv_handler>(this ));
156- auto xmit_del (delegate<void ()>::from<VirtioNet,&VirtioNet::msix_xmit_handler>(this ));
157- auto conf_del (delegate<void ()>::from<VirtioNet,&VirtioNet::msix_conf_handler>(this ));
155+ auto recv_del (delegate<void ()>{this , &VirtioNet::msix_recv_handler});
156+ auto xmit_del (delegate<void ()>{this , &VirtioNet::msix_xmit_handler});
157+ auto conf_del (delegate<void ()>{this , &VirtioNet::msix_conf_handler});
158+
158159 // update BSP IDT
159160 IRQ_manager::get ().subscribe (irq () + 0 , recv_del);
160161 IRQ_manager::get ().subscribe (irq () + 1 , xmit_del);
@@ -163,7 +164,7 @@ VirtioNet::VirtioNet(hw::PCI_Device& d)
163164 else
164165 {
165166 // legacy PCI interrupt
166- auto del (delegate<void ()>::from<VirtioNet, &VirtioNet::irq_handler>( this ) );
167+ auto del (delegate<void ()>{ this , &VirtioNet::irq_handler} );
167168 IRQ_manager::get ().subscribe (irq (),del);
168169 }
169170
@@ -301,8 +302,7 @@ std::shared_ptr<Packet>
301302VirtioNet::recv_packet (uint8_t * data, uint16_t size)
302303{
303304 auto * ptr = (Packet*) (data + sizeof (VirtioNet::virtio_net_hdr) - sizeof (Packet));
304- new (ptr) Packet (bufsize (), size,
305- delegate<void (void *)>::from<BufferStore, &BufferStore::release> (&bufstore ()));
305+ new (ptr) Packet (bufsize (), size, {&bufstore (), &BufferStore::release});
306306
307307 return std::shared_ptr<Packet> (ptr);
308308}
@@ -367,7 +367,7 @@ void VirtioNet::service_queues(){
367367 auto buf = transmit_queue_;
368368 transmit_queue_ = 0 ;
369369 transmit (buf);
370- }else {
370+ } else {
371371 debug (" <VirtioNet> Transmit queue is empty \n " );
372372 }
373373
@@ -400,7 +400,7 @@ void VirtioNet::add_to_tx_buffer(net::Packet_ptr pckt){
400400 debug (" Buffering, %i packets chained \n " , chain_length);
401401}
402402#include < cstdlib>
403- void VirtioNet::transmit (net::Packet_ptr pckt){
403+ void VirtioNet::transmit (net::Packet_ptr pckt) {
404404 /* * @note We have to send a virtio header first, then the packet.
405405
406406 From Virtio std. §5.1.6.6:
0 commit comments