Tabnine Logo
MqttHardwareLoginHandler
Code IndexAdd Tabnine to your IDE (free)

How to use
MqttHardwareLoginHandler
in
cc.blynk.server.hardware.handlers.hardware.mqtt.auth

Best Java code snippets using cc.blynk.server.hardware.handlers.hardware.mqtt.auth.MqttHardwareLoginHandler (Showing top 2 results out of 315)

origin: blynkkk/blynk-server

@Override
protected void channelRead0(ChannelHandlerContext ctx, MqttConnectMessage message) {
  String username = message.payload().userName().trim().toLowerCase();
  String token = new String(message.payload().passwordInBytes(), CharsetUtil.UTF_8);
  TokenValue tokenValue = holder.tokenManager.getTokenValueByToken(token);
  if (tokenValue == null || !tokenValue.user.email.equalsIgnoreCase(username)) {
    log.debug("MqttHardwareLogic token is invalid. Token '{}', '{}'", token, ctx.channel().remoteAddress());
    ctx.writeAndFlush(createConnAckMessage(CONNECTION_REFUSED_BAD_USER_NAME_OR_PASSWORD), ctx.voidPromise());
    return;
  }
  User user = tokenValue.user;
  Device device = tokenValue.device;
  DashBoard dash = tokenValue.dash;
  ChannelPipeline pipeline = ctx.pipeline();
  HardwareStateHolder hardwareStateHolder = new HardwareStateHolder(user, tokenValue.dash, device);
  pipeline.replace(this, "HHArdwareMqttHandler", new MqttHardwareHandler(holder, hardwareStateHolder));
  Session session = holder.sessionDao.getOrCreateSessionByUser(
      hardwareStateHolder.userKey, ctx.channel().eventLoop());
  if (session.isSameEventLoop(ctx)) {
    completeLogin(ctx.channel(), session, user, dash, device, -1);
  } else {
    log.debug("Re registering hard channel. {}", ctx.channel());
    ReregisterChannelUtil.reRegisterChannel(ctx, session, channelFuture ->
        completeLogin(channelFuture.channel(), session, user, dash, device, -1));
  }
}
origin: blynkkk/blynk-server

public MQTTHardwareServer(Holder holder) {
  super(holder.props.getProperty("listen.address"),
      holder.props.getIntProperty("hardware.mqtt.port"), holder.transportTypeHolder);
  var hardTimeoutSecs = holder.limits.hardwareIdleTimeout;
  var mqttHardwareLoginHandler = new MqttHardwareLoginHandler(holder);
  var alreadyLoggedHandler = new AlreadyLoggedHandler();
  var hardwareChannelStateHandler = new HardwareChannelStateHandler(holder);
  channelInitializer = new ChannelInitializer<>() {
    @Override
    protected void initChannel(SocketChannel ch) {
      ch.pipeline()
        .addLast("MqttIdleStateHandler", new IdleStateHandler(hardTimeoutSecs, hardTimeoutSecs, 0))
        .addLast(hardwareChannelStateHandler)
        .addLast(new MqttDecoder())
        .addLast(MqttEncoder.INSTANCE)
        .addLast(mqttHardwareLoginHandler)
        .addLast(alreadyLoggedHandler);
    }
  };
  log.debug("hard.socket.idle.timeout = {}", hardTimeoutSecs);
}
cc.blynk.server.hardware.handlers.hardware.mqtt.authMqttHardwareLoginHandler

Javadoc

Handler responsible for managing hardware and apps login messages. Initializes netty channel with a state tied with user. The Blynk Project. Created by Dmitriy Dumanskiy. Created on 2/1/2015.

Most used methods

  • <init>
  • completeLogin
  • createConnAckMessage

Popular in Java

  • Making http post requests using okhttp
  • setRequestProperty (URLConnection)
  • getResourceAsStream (ClassLoader)
  • scheduleAtFixedRate (Timer)
  • BufferedReader (java.io)
    Wraps an existing Reader and buffers the input. Expensive interaction with the underlying reader is
  • EOFException (java.io)
    Thrown when a program encounters the end of a file or stream during an input operation.
  • String (java.lang)
  • ConnectException (java.net)
    A ConnectException is thrown if a connection cannot be established to a remote host on a specific po
  • Pattern (java.util.regex)
    Patterns are compiled regular expressions. In many cases, convenience methods such as String#matches
  • JPanel (javax.swing)
  • Top Sublime Text plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now