Skip to end of metadata
Go to start of metadata

Space Index

Total number of pages: 93

0-9 ... 0 A ... 1 B ... 0 C ... 1 D ... 3 E ... 2
F ... 1 G ... 4 H ... 2 I ... 4 J ... 0 K ... 0
L ... 0 M ... 3 N ... 1 O ... 0 P ... 4 Q ... 0
R ... 36 S ... 3 T ... 1 U ... 0 V ... 1 W ... 0
X ... 0 Y ... 0 Z ... 0 !@#$ ... 0    

0-9

A

Page: About
Name RUSS - Services over UNIX Domain Sockets Requirements russng (C compiler), pyruss (Python 2), goruss (go, gccgo) Linux, OSX, UNIX (AIX, FreeBSD) License Apache v2 Links Repository https://bitbucket.org/russng/russng, API Docs https://bitbucket.org/ru

B

C

Page: Chat Server - In Python
Introduction The following implements a basic chat server using the pyruss bindings and library. Features: multiple listeners (maximum of 1 per user) targetted writes to listeners broadcast writes to all listeners messages are tagged with timestamp and se

D

Page: debug Server
russng-5.3_cmdline_debugserver_1280x720.mp4 https://expl.info/download/attachments/3965042/russng-5.3_cmdline_debugserver_1280x720.mp4?api=v2 (video) Introduction Provides debugging services. Configuration See also RUSS v5 - Basic Server Configuration. Us
Page: Documentation
Current Deprecated Documentation - Deprecated
Page: Documentation - Deprecated

E

Page: Examples
Page: exec Server
Introduction Execute a command/program with or without a shell (basic or login), and optionally within a cgroup if supported on the platform. Environment variables may be provided as rudial attributes; use subject to security constraints. Configuration Se

F

Page: file Server
20190602 - russfile v0.8 released Introduction The file server provides basic file services. Configuration No additional configuration supported. Usage Perform basic file operations. All paths are expanded using UNIX style pathname pattern expansion (* an

G

Page: goruss - daytime Client Example
Requirements goruss is available on bitbucket.org russng v6.3 C implementation Client Calling +/debug/daytime Code: // daytime.go package main /* #cgo LDFLAGS: -lruss #include <russ/russ.h> */ import "C" import ( "bitbucket.org/russng/goruss" "fmt" "os" )
Page: goruss - Hello World Server Example
Requirements goruss is available on bitbucket.org russng v6.3 C implementation Code // russhello_server.go package main /* //#cgo LDFLAGS: -lruss #cgo LDFLAGS: /usr/lib/libruss.a #include <russ/russ.h> */ import "C" import ( "bitbucket.org/russng/goruss"
Page: goruss - RUSS for the Go Programming Language
goruss is early in its development and may undergo changes. goruss provides an interface to the RUSS C library. goruss tries to balance idiomatic Go with the fact that RUSS is written in C.
Page: Guidelines for Server Programmers
Introduction This page provides some guidelines for server programmers to bring some consistency to the services APIs. Service Names Although service names can be anything, there are some common practices that make it easier for users two switch between s

H

Page: Hello World Server
Introduction We will begin with the standard "hello world" example. The goal is to demonstrate a very basic setup of a server, service tree, and handler. Code This is a stripped down example which simply returns the string "hello world" to the client. #in
Home page: Home
2019-02-17 - russng v6.8 release on bitbucket.org https://bitbucket.org/russng/russng. Main About About Featured

I

Page: Index
Page: Install and Configure RUSS under Ubuntu 14.04
Page: Introduction to the RUSS Command Line Tools and Debug Server
Page: Introduction to the RUSS ssh Server -- Networking as a Service

J

K

L

M

Page: Main
What is RUSS? RUSS is an alternative to HTTP/web technologies for services running on UNIX/Linux. RUSS is a protocol and framework for building service-oriented servers using UNIX/Domain sockets. RUSS is built on some familiar ideas: orthogonal operations
Page: Multi-Service Hello World Server
Introduction Building on the simple Hello World server, we'll enhance things to provide a multi-level service tree in which the level determines which kind of response ("hello") will be sent to the client. Code #include <stdio.h> #include <stdlib.h> #in
Page: Multi-Service Hello World Server - In Python
Introduction Below is the equivalent to the Multi-Service Hello World Server (in C) implemented in Python using the pyruss bindings and library. As with the C example, it is an example of an overloaded service handler (ServiceTree.svc_chm). Code #! /usr/b

N

Page: Non-Core Servers

O

P

Page: proc Server
Introduction Report on, monitor, and kill processes. Configuration See also Basic Server Configuration https://expl.info/display/RUSS/Basic+Server+Configuration. Usage Report on, monitor, and kill processes. /g/<gid>/status [-l] /g/<gid>/status/<fmt> [-l]
Page: Programming Patterns - Overloading a Service Handler
Introduction Most of the time, each service in a service tree will have its own service handler. But, if multiple services do very similar things, a common service handler may make sense, i.e., to overload a service handler. Code and Explanation Service T
Page: Programming Patterns - Redial and Splice
Introduction The purpose of some servers is to redirect an incoming request elsewhere. The extent of the change to the original request depends on the server/service being called. To facilitate this, RUSS provides a dedicated function russ_sconn_redialand
Page: Programming Patterns - Virtual Service Path
Introduction When a service path contains path elements that cannot be known when the service tree is defined, a service can be set up to accept virtual service paths. Code and Explanation The debug server (described at debug) request service is one such

Q

R

Page: rssh Server
Introduction Redirection, rewrite server for ssh connections. When a request is received, the service path is checked against a set of rules defined in the configuration. When a rule match succeeds (for all match* options which are set for a rule), a new
Page: RUSS Specification
Introduction This document provides the specification for RUSS. The goal of RUSS is to expose a collection of services addressable in a hierarchical namespace, each of which establish zero or more I/O streams for communication, and a means for providing a
Page: RUSS v5
RUSS v5 is deprecated. See what is most recent at Documentation. Introduction RUSS v5 - Quickstart Setup RUSS v5 - Administrator Guide RUSS v5 - Users Guide Servers and Configuration RUSS v5 - Basic Server Configuration RUSS v5 - Core Servers Using and Pr
Page: RUSS v5 - Administrator Guide
russng-5.3_install_960x540.mp4 https://expl.info/download/attachments/3965042/russng-5.3_install_960x540.mp4?api=v2 (video) Introduction Administrating RUSS servers is very simple. In short, the configurations for system servers are at /etc/russ/conf and
Page: RUSS v5 - Basic Installation
Install and Configure RUSS under Ubuntu 14.04 (video) Introduction The russng package provides: an implementation of the RUSS protocol in C frameworks for clients and servers in C frameworks for clients and servers in Python core collection of command lin
Page: RUSS v5 - Basic Server Configuration
All servers use the following configuration settings: Section Option Value Description main addr path Path of socket file. closeonaccept integer Non-zero to set server to exit after servicing a single accept/request. Default is 0. file_group gid or group
Page: RUSS v5 - Command-Line Tools
Introduction Because RUSS services are called with string-based arguments and name=value attributes, perform fd-based I/O, and return exit values, they are ideally suited for use by both shell programs and lower-level programming languages. The standard d
Page: RUSS v5 - Core Servers
Page: RUSS v5 - Programming RUSS - A Debugging Server
Introduction The following are snippets that can be used to make a debug server which can be very handy for testing when something just doesn't seem to be working right. The Request Object When a service handler is called, it is passed a session object wh
Page: RUSS v5 - Programming RUSS - A MultiService Server
Introduction Rather than a single service anchored at the root of the service tree, we will present a multi service server. For example, three services will be accessible off of the root node of the service tree, each performing a conversion of an integer
Page: RUSS v5 - Programming RUSS - Dialing Services
Introduction When at the command-line and from a shell, the standard means of dialing services is with rudial and the helpers ruls, ruexec, and ruhelp. However, languages like Python allow for more advanced usage. What follows is how to dial services usin
Page: RUSS v5 - Programming RUSS - Hello World
Introduction The goal is to create a server with a single service that will return the string "hello world". To start, we provide a hello function: #! /usr/bin/env python import sys def hello(): sys.stdout.write("hello world\n") Server Boilerplate Ev
Page: RUSS v5 - Programming RUSS - Setup
Ensure that the russng 5.6 package has been installed. Update your working PYTHONPATH to be able to access the pyruss module. For bash: export PYTHONPATH=/usr/lib/python:$PYTHONPATH for csh: setenv PYTHONPATH /usr/lib/python:$PYTHONPATH
Page: RUSS v5 - Programming RUSS - Starting a Server
rustart The rustart tool is used to start RUSS servers by: loading configuration settings creating a socket file starting the server program passing the configuration settings passing the socket descriptor rustart takes, as arguments, configuration filena
Page: RUSS v5 - Programming RUSS 5
RUSS provides a simple way to write and use service-oriented servers. In the following, we work through a variety of examples of increasing complexity to demonstrate how to use pyruss, the Python bindings for RUSS. Setup Dialing Services Hello World Start
Page: RUSS v5 - Quickstart Setup
russng-5.3_install_960x540.mp4 https://expl.info/download/attachments/3965042/russng-5.3_install_960x540.mp4?api=v2 (video) Introduction RUSS can be built and installed from source (root not needed) or installed from pre-built packages (as root). However
Page: RUSS v5 - RUSS C Language API Highlights
Introduction The first implementation supporting the RUSS specification is in C. It stands as the basis for C clients and servers, the standard command line tools, the standard core servers, and a starting point for bindings for non-C implementations. It
Page: RUSS v5 - Users Guide
russng-5.3_intro_cmdline_debugserver_960x540.mp4 https://expl.info/download/attachments/3965042/russng-5.3_intro_cmdline_debugserver_960x540.mp4?api=v2 (video) What You'll Need There are three command line tools that will let you do almost everything that
Page: RUSS v6 - Core Servers
Page: RUSS v6 - debug Server
Introduction The debug server provides debugging services. Configuration No additional configuration supported. Usage Provides services useful for debugging. Unless otherwise stated, stdin, stdout, and stderr all refer to the file descriptor triple that i
Page: RUSS v6 - exec Server
Introduction Execute a command/program with or without a shell (basic or login), and optionally within a cgroup if supported on the platform. Environment variables may be provided as rudial attributes; use subject to security constraints. Configuration Se
Page: RUSS v6 - pnet Server
Introduction An intermediate server which simplifies access to remote targets. Although it can be used otherwise, it is used by rurun, and rumpirun. Configuration Section Option Value Description targets filename path Path to file containing list of targe
Page: RUSS v6 - proc Server
Introduction Report on, monitor, and kill processes. Configuration No additional configuration supported. Usage Report on, monitor, and kill processes. /g/<gid>/status [-l] /g/<gid>/status/<fmt> [-l] Return the status of processes owned by a group. See /p
Page: RUSS v6 - Quickstart Setup
Introduction RUSS can be built and installed from source (root not needed) or installed from pre-built packages (as root). However full functionality will require installation to the system directories. Installation Download pre-built package from: https:
Page: RUSS v6 - redir Server
Introduction The redir server is an intermediate server which redirects incoming request elsewhere. This is helpful to provide an alias for a server/service. Configuration Section Option Value Description next spath spath spath to prefix to the incoming r
Page: RUSS v6 - rudial
Introduction The rudial (and friends) tools provide access to RUSS services via the command line/shell. The dial call is central to RUSS. It is what connects a client to a server, after which, one or more I/O streams between them are set up for inter-proc
Page: RUSS v6 - rumpirun
Introduction rumpirun is a RUSS-specific wrapper for the underlying mpirun program as provided by OpenMPI or MPICH. Most all arguments provided to rumpirun are passed to the underlying mpirun without change to be processed it. rumpirun uses rurun to launc
Page: RUSS v6 - rurun
Some features with >= v6.8. Introduction rurun runs a program on a target identified by an index to a targets file. rurun uses the pnet server which is started automatically if required. Usage usage: rurun [options] <targetspec> <arg> ... rurun [--pnet <a
Page: RUSS v6 - ruservice
Updated for v6.5. Introduction RUSS servers that are made available on the system are managed using the ruservice tool. System server configuration files are organized directly under /etc/russ/conf, including subdirectories. The first line of configuratio
Page: RUSS v6 - ruspawn
Introduction Spawn a server using configuration settings provided in a file and/or as arguments. When a server is spawned, a reaper process is also started which is responsible for removing the associated socket file. A normal kill signal sent to either t
Page: RUSS v6 - Server Configuration
Introduction All servers share the same configurables. Configuration All Servers Section Option Value Description main addr path Path of socket file. closeonaccept integer Non-zero to set server to exit after servicing a single accept/request. Default is
Page: RUSS v6 - set Server
Introduction The set server is an intermediate server which may be used to set/modify request attributes and positional arguments based on spath components. Configuration No additional configuration supported. Usage Intermediate service to set/modify attr
Page: RUSS v6 - ssh / sshr Server
Introduction Provide access to remote hosts using ssh. Configuration Section Option Value Description tool exec path Path to alternative program to launch on remote host to support the connection/tunnel. Default is /usr/bin/rutuns for tunnel type, /usr/bi
Page: RUSS v6 - tee Server
Introduction An intermediate server which captures data transferred between client and server. Configuration No additional configuration supported. Usage Captures data transferred between client and server. /<attr>/... The attribute from which to get info
Page: RUSS v6 - Tools
Page: RUSS v6 - User Guide
Introduction From a user perspective, RUSS is all about accessing services that are available on a local machine or across a network. Services are provided by RUSS servers; each machine may host one or more RUSS server. The simplest situation is when a se

S

Page: set Server
Introduction The set server is an intermediate server which may be used to set/modify request attributes and positional arguments based on spath components. Configuration See also Basic Server Configuration https://expl.info/display/RUSS/Basic+Server+Conf
Page: Snippets
Page: ssh Server
russ-ssh_960x540x24.mp4 https://expl.info/download/attachments/3965042/russ-ssh_960x540x24.mp4?api=v2 (video) Introduction Provide access to remote hosts using ssh. Configuration See also Basic Server Configuration https://expl.info/display/RUSS/Basic+Ser

T

Page: tee Server
Introduction An intermediate server which captures data transferred between client and server. Configuration See also Basic Server Configuration https://expl.info/display/RUSS/Basic+Server+Configuration. Usage Captures data transferred between client and

U

V

Page: Videos

W

X

Y

Z

!@#$

  • No labels