struct Movie::Remote::AssociationHandshake

Overview

Identity negotiated before a socket may carry actor traffic. The optional proof authenticates all identity fields without putting the shared secret on the wire.

Included Modules

Defined in:

movie/remote/association.cr

Constructors

Instance Method Summary

Constructor Detail

def self.create(system : String, address : String, node_uid : String, association_id : String, shared_secret : String | Nil = nil, protocol_version : Int32 = PROTOCOL_VERSION, capabilities : Array(String) = DEFAULT_CAPABILITIES, nonce : String = UUID.random.to_s) : self #

[View source]
def self.new(protocol_version : Int32, system : String, address : String, node_uid : String, association_id : String, capabilities : Array(String), nonce : String, auth_proof : String) #

[View source]
def self.new(pull : JSON::PullParser) #

[View source]
def self.new(*, __pull_for_json_serializable pull : JSON::PullParser) #

[View source]

Instance Method Detail

def address : String #

def association_id : String #

def auth_proof : String #

def authenticated?(shared_secret : String | Nil) : Bool #

[View source]
def capabilities : Array(String) #

def clone #

[View source]
def copy_with(protocol_version _protocol_version = @protocol_version, system _system = @system, address _address = @address, node_uid _node_uid = @node_uid, association_id _association_id = @association_id, capabilities _capabilities = @capabilities, nonce _nonce = @nonce, auth_proof _auth_proof = @auth_proof) #

[View source]
def node_uid : String #

def nonce : String #

def protocol_version : Int32 #

def system : String #