int listen() {
     return _listener.listen();
   }
-  virtual int accept(ConnectedSocket *s, const SocketOptions &opts, entity_addr_t *out) override;
+  virtual int accept(ConnectedSocket *s, const SocketOptions &opts, entity_addr_t *out, Worker *w) override;
   virtual void abort_accept() override;
   virtual int fd() const override {
     return _listener.fd();
         : _listener(proto.listen(port)) {}
 
 template <typename Protocol>
-int DPDKServerSocketImpl<Protocol>::accept(ConnectedSocket *s, const SocketOptions &options, entity_addr_t *out) {
+int DPDKServerSocketImpl<Protocol>::accept(ConnectedSocket *s, const SocketOptions &options, entity_addr_t *out, Worker *w) {
   if (_listener.get_errno() < 0)
     return _listener.get_errno();
   auto c = _listener.accept();