Package org.drasyl
Class DrasylConfig
- java.lang.Object
-
- org.drasyl.DrasylConfig
-
public class DrasylConfig extends Object
This class represents the configuration for aDrasylNode
. For example, it defines the identity and the Super Peer.This is an immutable object.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DrasylConfig.Builder
Builder class to create aDrasylConfig
with custom values.
-
Constructor Summary
Constructors Constructor Description DrasylConfig()
DrasylConfig(com.typesafe.config.Config config)
Creates a new config for a drasyl node.
-
Method Summary
-
-
-
Method Detail
-
getProofOfWork
public static ProofOfWork getProofOfWork(com.typesafe.config.Config config, String path)
Gets theProofOfWork
at the given path. Similar toConfig
, an exception is thrown for an invalid value.- Parameters:
config
- the application's portion of the configurationpath
- path expression- Returns:
- the
ProofOfWork
value at the requested path - Throws:
com.typesafe.config.ConfigException.Missing
- if value is absent or nullcom.typesafe.config.ConfigException.WrongType
- if value is not convertible to aProofOfWork
-
getPublicKey
public static CompressedPublicKey getPublicKey(com.typesafe.config.Config config, String path)
Gets theCompressedPublicKey
at the given path. Similar toConfig
, an exception is thrown for an invalid value.- Parameters:
config
- the application's portion of the configurationpath
- path expression- Returns:
- the
CompressedPublicKey
value at the requested path - Throws:
com.typesafe.config.ConfigException.Missing
- if value is absent or nullcom.typesafe.config.ConfigException.WrongType
- if value is not convertible to aCompressedPublicKey
-
getPrivateKey
public static CompressedPrivateKey getPrivateKey(com.typesafe.config.Config config, String path)
Gets theCompressedPrivateKey
at the given path. Similar toConfig
, an exception is thrown for an invalid value.- Parameters:
config
- the application's portion of the configurationpath
- path expression- Returns:
- the
CompressedPrivateKey
value at the requested path - Throws:
com.typesafe.config.ConfigException.Missing
- if value is absent or nullcom.typesafe.config.ConfigException.WrongType
- if value is not convertible to aCompressedPrivateKey
-
getPath
public static Path getPath(com.typesafe.config.Config config, String path)
Gets thePath
at the given path.- Parameters:
config
- the application's portion of the configurationpath
- path expression- Returns:
- the
Path
value at the requested path - Throws:
com.typesafe.config.ConfigException
- if value at path is invalid
-
getShort
public static short getShort(com.typesafe.config.Config config, String path)
Gets the short at the given path. Similar toConfig
, an exception is thrown for an out-of-range value.- Parameters:
config
- the application's portion of the configurationpath
- path expression- Returns:
- the short value at the requested path
- Throws:
com.typesafe.config.ConfigException.Missing
- if value is absent or nullcom.typesafe.config.ConfigException.WrongType
- if value is not convertible to a short
-
getEndpointList
public static List<Endpoint> getEndpointList(com.typesafe.config.Config config, String path)
- Throws:
com.typesafe.config.ConfigException
- if value at path is invalid
-
getChannelInitializer
public static Class<io.netty.channel.ChannelInitializer<io.netty.channel.socket.SocketChannel>> getChannelInitializer(com.typesafe.config.Config config, String path)
- Throws:
com.typesafe.config.ConfigException
- if value at path is invalid
-
getPlugins
public static Set<DrasylPlugin> getPlugins(com.typesafe.config.Config config, String path)
- Throws:
com.typesafe.config.ConfigException
- if value at path is invalid
-
getInetAddress
public static InetAddress getInetAddress(com.typesafe.config.Config config, String path)
- Throws:
com.typesafe.config.ConfigException
- if value at path is invalid
-
getURI
public static URI getURI(com.typesafe.config.Config config, String path)
Gets theURI
at the given path.- Parameters:
config
- the application's portion of the configurationpath
- path expression- Returns:
- the
URI
value at the requested path - Throws:
com.typesafe.config.ConfigException
- if value at path is invalid
-
getNetworkId
public int getNetworkId()
-
isMonitoringEnabled
public boolean isMonitoringEnabled()
-
getMonitoringInfluxUri
public URI getMonitoringInfluxUri()
-
getMonitoringInfluxUser
public String getMonitoringInfluxUser()
-
getMonitoringInfluxPassword
public String getMonitoringInfluxPassword()
-
getMonitoringInfluxDatabase
public String getMonitoringInfluxDatabase()
-
getMonitoringInfluxReportingFrequency
public Duration getMonitoringInfluxReportingFrequency()
-
getServerBindHost
public InetAddress getServerBindHost()
-
getServerBindPort
public int getServerBindPort()
-
getIdentityProofOfWork
public ProofOfWork getIdentityProofOfWork()
-
getIdentityPublicKey
public CompressedPublicKey getIdentityPublicKey()
-
getIdentityPrivateKey
public CompressedPrivateKey getIdentityPrivateKey()
-
getIdentityPath
public Path getIdentityPath()
-
isServerEnabled
public boolean isServerEnabled()
-
getServerSSLEnabled
public boolean getServerSSLEnabled()
-
getServerIdleRetries
public short getServerIdleRetries()
-
getSuperPeerHandshakeTimeout
public Duration getSuperPeerHandshakeTimeout()
-
getServerIdleTimeout
public Duration getServerIdleTimeout()
-
getFlushBufferSize
public int getFlushBufferSize()
-
getServerHandshakeTimeout
public Duration getServerHandshakeTimeout()
-
getServerChannelInitializer
public Class<? extends io.netty.channel.ChannelInitializer<io.netty.channel.socket.SocketChannel>> getServerChannelInitializer()
-
getMessageMaxContentLength
public int getMessageMaxContentLength()
-
getMessageHopLimit
public short getMessageHopLimit()
-
getMessageComposedMessageTransferTimeout
public Duration getMessageComposedMessageTransferTimeout()
-
isSuperPeerEnabled
public boolean isSuperPeerEnabled()
-
getSuperPeerChannelInitializer
public Class<? extends io.netty.channel.ChannelInitializer<io.netty.channel.socket.SocketChannel>> getSuperPeerChannelInitializer()
-
getSuperPeerIdleRetries
public short getSuperPeerIdleRetries()
-
getSuperPeerIdleTimeout
public Duration getSuperPeerIdleTimeout()
-
isIntraVmDiscoveryEnabled
public boolean isIntraVmDiscoveryEnabled()
-
isLocalHostDiscoveryEnabled
public boolean isLocalHostDiscoveryEnabled()
-
getLocalHostDiscoveryPath
public Path getLocalHostDiscoveryPath()
-
getLocalHostDiscoveryLeaseTime
public Duration getLocalHostDiscoveryLeaseTime()
-
areDirectConnectionsEnabled
public boolean areDirectConnectionsEnabled()
-
getDirectConnectionsMaxConcurrentConnections
public int getDirectConnectionsMaxConcurrentConnections()
-
getDirectConnectionsIdleTimeout
public Duration getDirectConnectionsIdleTimeout()
-
getDirectConnectionsIdleRetries
public short getDirectConnectionsIdleRetries()
-
getDirectConnectionsHandshakeTimeout
public Duration getDirectConnectionsHandshakeTimeout()
-
getPlugins
public Set<DrasylPlugin> getPlugins()
-
getDirectConnectionsChannelInitializer
public Class<? extends io.netty.channel.ChannelInitializer<io.netty.channel.socket.SocketChannel>> getDirectConnectionsChannelInitializer()
-
isMarshallingInboundAllowAllPrimitives
public boolean isMarshallingInboundAllowAllPrimitives()
-
isMarshallingInboundAllowArrayOfDefinedTypes
public boolean isMarshallingInboundAllowArrayOfDefinedTypes()
-
isMarshallingOutboundAllowAllPrimitives
public boolean isMarshallingOutboundAllowAllPrimitives()
-
isMarshallingOutboundAllowArrayOfDefinedTypes
public boolean isMarshallingOutboundAllowArrayOfDefinedTypes()
-
isServerExposeEnabled
public boolean isServerExposeEnabled()
-
parseFile
public static DrasylConfig parseFile(File file)
-
newBuilder
public static DrasylConfig.Builder newBuilder()
Creates a new builder to build a customDrasylConfig
. The built configuration is derived from the default configuration. The builder must be finalized by callingDrasylConfig.Builder.build()
to create the resultingDrasylConfig
.- Returns:
- the new builder
-
newBuilder
public static DrasylConfig.Builder newBuilder(DrasylConfig config)
-
-