Which specific USB class driver is being used in ADB

Dear Beagle board Team,

I am trying to understand the Linux USB driver stack that is being used currently for ADB usecase, Could anyone please explain, I wanted to know which specific USB class driver (for ex, whether does it is uses serial driver class?), is being used for ADB usecase.

I have the below understanding that currently that ADB is using ie., as below (But still I am not sure which specific USB class driver does it uses?) , Could any one, please let me know ?

USB device controller (Hardware) <-> Platform driver (UDC) <-> Gadget driver <-> Composite gadget/UDB core driver <-> Gadget function driver <-> ADB application.

Many Thanks in advance,

ADB appears to use IP network packets, I would guess CDC class, there is a server (adbd?) on the device or in the emulator, but also on your debugging host. Debugging clients connect through TCP ports, a bit like FTP.

UDEV rules https://www.janosgyerik.com/adding-udev-rules-for-usb-debugging-android-devices/