test_class.declarator: mockEventLoop
test_class.modifier: private
test_class.original_string: private MockEventLoop mockEventLoop;
test_class.type: MockEventLoop
test_class.var_name: mockEventLoop
test_class.declarator: dnsPacketProxy
test_class.modifier: private
test_class.original_string: private DnsPacketProxy dnsPacketProxy;
test_class.type: DnsPacketProxy
test_class.var_name: dnsPacketProxy
test_class.declarator: ruleDatabase
test_class.modifier: private
test_class.original_string: private RuleDatabase ruleDatabase;
test_class.type: RuleDatabase
test_class.var_name: ruleDatabase
test_class.file: app/src/test/java/org/jak_linux/dns66/vpn/DnsPacketProxyTest.java
test_class.identifier: DnsPacketProxyTest
test_case.body: @Test
      public void testInitialize() throws Exception {
          ArrayList<InetAddress> dnsServers = new ArrayList<>();
          dnsPacketProxy = new DnsPacketProxy(mockEventLoop, Mockito.mock(RuleDatabase.class));
          dnsPacketProxy.initialize(Mockito.mock(Context.class), dnsServers);
          assertSame(dnsServers, dnsPacketProxy.upstreamDnsServers);
      }
test_case.class_method_signature: DnsPacketProxyTest.testInitialize()
test_case.full_signature: @Test public void testInitialize()
test_case.identifier: testInitialize
test_case.invocations: mock initialize mock assertSame
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testInitialize()
focal_class.declarator: TAG = "DnsPacketProxy"
focal_class.modifier: private static final
focal_class.original_string: private static final String TAG = "DnsPacketProxy";
focal_class.type: String
focal_class.var_name: TAG
focal_class.declarator: NEGATIVE_CACHE_TTL_SECONDS = 5
focal_class.modifier: private static final
focal_class.original_string: private static final int NEGATIVE_CACHE_TTL_SECONDS = 5;
focal_class.type: int
focal_class.var_name: NEGATIVE_CACHE_TTL_SECONDS
focal_class.declarator: NEGATIVE_CACHE_SOA_RECORD
focal_class.modifier: private static final
focal_class.original_string: private static final SOARecord NEGATIVE_CACHE_SOA_RECORD;
focal_class.type: SOARecord
focal_class.var_name: NEGATIVE_CACHE_SOA_RECORD
focal_class.declarator: ruleDatabase
focal_class.modifier: final
focal_class.original_string: final RuleDatabase ruleDatabase;
focal_class.type: RuleDatabase
focal_class.var_name: ruleDatabase
focal_class.declarator: eventLoop
focal_class.modifier: private final
focal_class.original_string: private final EventLoop eventLoop;
focal_class.type: EventLoop
focal_class.var_name: eventLoop
focal_class.declarator: upstreamDnsServers = new ArrayList<>()
focal_class.original_string: ArrayList<InetAddress> upstreamDnsServers = new ArrayList<>();
focal_class.type: ArrayList<InetAddress>
focal_class.var_name: upstreamDnsServers
focal_class.file: app/src/main/java/org/jak_linux/dns66/vpn/DnsPacketProxy.java
focal_class.identifier: DnsPacketProxy
focal_class.class_method_signature: DnsPacketProxy.DnsPacketProxy(EventLoop eventLoop, RuleDatabase database)
focal_class.full_signature: public  DnsPacketProxy(EventLoop eventLoop, RuleDatabase database)
focal_class.identifier: DnsPacketProxy
focal_class.modifiers: public
focal_class.parameters: (EventLoop eventLoop, RuleDatabase database)
focal_class.signature:  DnsPacketProxy(EventLoop eventLoop, RuleDatabase database)
focal_class.class_method_signature: DnsPacketProxy.DnsPacketProxy(EventLoop eventLoop)
focal_class.full_signature: public  DnsPacketProxy(EventLoop eventLoop)
focal_class.identifier: DnsPacketProxy
focal_class.modifiers: public
focal_class.parameters: (EventLoop eventLoop)
focal_class.signature:  DnsPacketProxy(EventLoop eventLoop)
focal_class.class_method_signature: DnsPacketProxy.initialize(Context context, ArrayList<InetAddress> upstreamDnsServers)
focal_class.full_signature:  void initialize(Context context, ArrayList<InetAddress> upstreamDnsServers)
focal_class.identifier: initialize
focal_class.parameters: (Context context, ArrayList<InetAddress> upstreamDnsServers)
focal_class.return: void
focal_class.signature: void initialize(Context context, ArrayList<InetAddress> upstreamDnsServers)
focal_class.class_method_signature: DnsPacketProxy.handleDnsResponse(IpPacket requestPacket, byte[] responsePayload)
focal_class.full_signature:  void handleDnsResponse(IpPacket requestPacket, byte[] responsePayload)
focal_class.identifier: handleDnsResponse
focal_class.parameters: (IpPacket requestPacket, byte[] responsePayload)
focal_class.return: void
focal_class.signature: void handleDnsResponse(IpPacket requestPacket, byte[] responsePayload)
focal_class.class_method_signature: DnsPacketProxy.handleDnsRequest(byte[] packetData)
focal_class.full_signature:  void handleDnsRequest(byte[] packetData)
focal_class.identifier: handleDnsRequest
focal_class.parameters: (byte[] packetData)
focal_class.return: void
focal_class.signature: void handleDnsRequest(byte[] packetData)
focal_class.class_method_signature: DnsPacketProxy.translateDestinationAdress(IpPacket parsedPacket)
focal_class.full_signature: private InetAddress translateDestinationAdress(IpPacket parsedPacket)
focal_class.identifier: translateDestinationAdress
focal_class.modifiers: private
focal_class.parameters: (IpPacket parsedPacket)
focal_class.return: InetAddress
focal_class.signature: InetAddress translateDestinationAdress(IpPacket parsedPacket)
focal_method.body: void initialize(Context context, ArrayList<InetAddress> upstreamDnsServers) throws InterruptedException {
          ruleDatabase.initialize(context);
          this.upstreamDnsServers = upstreamDnsServers;
      }
focal_method.class_method_signature: DnsPacketProxy.initialize(Context context, ArrayList<InetAddress> upstreamDnsServers)
focal_method.full_signature:  void initialize(Context context, ArrayList<InetAddress> upstreamDnsServers)
focal_method.identifier: initialize
focal_method.invocations: initialize
focal_method.parameters: (Context context, ArrayList<InetAddress> upstreamDnsServers)
focal_method.return: void
focal_method.signature: void initialize(Context context, ArrayList<InetAddress> upstreamDnsServers)