syntax = "proto3";

package xray.transport.internet.domainsocket;
option csharp_namespace = "Xray.Transport.Internet.DomainSocket";
option go_package = "github.com/xtls/xray-core/transport/internet/domainsocket";
option java_package = "com.xray.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;
}