def unapply()

in src/main/scala/com/twitter/iago/server/MemcacheTransport.scala [25:41]


  def unapply(rawCommand: String): Option[Command] = {
    val delim = rawCommand.indexOf("\r\n")
    val (command, data) =
      if (delim == -1) {
        (rawCommand, None)
      } else {
        (rawCommand.substring(0, delim), Some(rawCommand.substring(delim + 2)))
      }

    val tokens = command.split("\\s+")
    tokens(0).toLowerCase match {
      case "get" => get(tokens.drop(1))
      case "gets" => gets(tokens.drop(1))
      case "set" => set(tokens.drop(1), data)
      case _ => None
    }
  }