Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@smarterservices/vps-proctor-socket-toolkit

Package Overview
Dependencies
Maintainers
4
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@smarterservices/vps-proctor-socket-toolkit

toolkit of functions for smartersockets

  • 1.1.3
  • latest
  • npm
  • Socket score

Version published
Maintainers
4
Created
Source

toolkit

A toolkit containing functions that help with standard smartersockets tasks

##Getting Started

npm install @smarterservices/vps-proctor-socket-toolkit

###Constructor:

var toolkit = require('@smarterservices/vps-proctor-socket-toolkit');
var kit = new toolkit({socket:socket}};

Note socket in config is where you pass your entire smarterservices socket

##Methods

###muteVideo

description: Used to publish to a listener telling the student that your video is muted.

Arguments

  • topic: topic of the listener
  • mute: Bool showing mute value.
    • true
    • false

Example

kit.muteVideo(topic,true);


###changeState

description: Used to publish to a listener telling them to change state.

Arguments

  • topic: topic of the listener
  • state: The state to change to.
    • exam-view
    • conversation-view

Example

kit.changeState(topic,state);


###examStatus

Invoked when you need to actually change the status of the exam.

Arguments

  • topic: topic of the listener
  • status: The status to change the exam to.
    • blocked
    • active

Example

kit.examStatus(topic,status);


###pasteText

When invoked will send paste: true with type pastText

Arguments

  • topic: topic of the listener

Example

kit.pasteText(topic);


###blockExam

When invoked will send boolean to pause or unpause student proctor session

Arguments

  • topic: topic of the listener
  • blockExam: boolean to pause exam or not.

Example

kit.blockExam(topic,blockExam);


###fullScreen

Invoked to shift student applicaiton to fullscreen or not

Arguments

  • topic: topic of the listener
  • full: boolean to make fullscreen or no

Example

kit.fullScreen(topic,full);


###s3Speed

description: Send video upload metadata over socket

Arguments

  • topic: topic of the listener
  • userId: the users id
  • sessionId: the session id for that video
  • videoType: the video type. I.e webcam,screen
  • videoTimestamp: the timestamp from the video
  • videoId: the video id
  • speed: the speed of the upload
  • size: the size of the upload
  • time: the time the upload took

Example

kit.s3Speed(topic,userId,sessionId,videoType,videoTimestamp,videoId,speed,size,time);

Events Emitted

socket.on('message',function(topic,res){})

description: generic listener for anything not expecting a res from .register method.

Example:

socket.on('message',function(topic,res) {
	console.log(topic,res	
}

socket.on('connect',function(){})

description: called when connected. If you need to do something after connected put inside this event. Is called again on reconnect so do NOT nest other listeners inside

Example:

socket.on('connect',function(){
	console.log('now connected');
};

**socket.on('reconnect',function(){})**

description:If reconnect happens.

Example:

socket.on('reconnect',function(){
	console.log('now reconnected');
};

**socket.on('error',function(error){})**

description: happens if error happens during connect or publish.

Example:

socket.on('error',function(error){
	console.log(error);
};

**socket.on('disconnected',function(){})**

description: happens if state is switched to offline from online.

Example:

socket.on('disconnected',function(){
	console.log('now disconnected');
};

**socket.on('reconnectFailed',function(){})**

description: happens if reconnect fails(still offline).

Example:

socket.on('reconnectFailed',function(){
	console.log('now offline');
};

**socket.on('close',function(){})**

description: happens if socket connection is closed.

Example:

socket.on('close',function(){
	console.log('now closed socket');
};

###Disconnect Logic:


The socket will take between 5 and 15 seconds to register that the connection has dropped and emit the disconnect callback. When a client first disconnects their disconnect time is set to NOW - 15 seconds.

From there their client will try to reconnect every second(all socket events will be thrown into a queue).

Once reconnected will send reconnect message over all sessions they can publish to, empty their socket queue and emit a connect call from their socket.


###All events after this only available with state management class below:

socket.on('client.connected',function(obj){})

description: Happens if a new client connects to your topic

return: OBJECT {topic:topic,client:client_id}

Example:

socket.on('client.connected',function(res){
	console.log(res.topic,res.client);
};



Keywords

FAQs

Package last updated on 23 Aug 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc