syntax = "proto3";

package v2ray.core.transport.internet.domainsocket;
option csharp_namespace = "V2Ray.Core.Transport.Internet.DomainSocket";
option go_package = "v2ray.com/core/transport/internet/domainsocket";
option java_package = "com.v2ray.core.transport.internet.domainsocket";
option java_multiple_files = true;

message Config {
  // Path of the domain socket. This overrides the IP/Port parameter from
  // upstream caller.
  string path = 1;
  // Abstract speicifies whether to use abstract namespace or not.
  // Traditionally Unix domain socket is file system based. Abstract domain
  // socket can be used without acquiring file lock.
  bool abstract = 2;
  // Some apps, eg. haproxy, use the full length of sockaddr_un.sun_path to
  // connect(2) or bind(2) when using abstract UDS.
  bool padding = 3;
  bool acceptProxyProtocol = 4;
}
