Everything2
Near Matches
Ignore Exact
Full Text
Everything2

Protocol

"Protocol" is also a: user

created by cpwright

(thing) by cpwright (?) (print)   ?   (I like it!) Sat Nov 13 1999 at 8:54:44

A protocol is the way that different devices communicate. Some protocols are TCP/IP, Samba, NetBIOS HTTP.


(thing) by bjorng (1.8 y) (print)   ?   (I like it!) Sat Nov 13 1999 at 8:54:44

A definition of rules of communication between two or more nodes through a medium. The nodes can be computers, people, countries, or other things. The medium can be speech, snail mail, a network or other kind of wire, or anything else that can carry a signal or message.

(thing) by kessenich (3.1 y) (print)   ?   (I like it!) Sat Mar 04 2000 at 11:02:42

A field in a datagram, or IP packet header. Analagous to the type field in a network frame. The value it contains specifies which high-level protocol was used to create the message carried in the DATA area of the datagram. It specifies the format of the data area. The mapping between the protocol and the integer value used in this field must be administered by a central authority to guarantee agreement.

Some protocol numbers:

1 - ICMP
6 - TCP
17 - UDP
88 - IGRP
89 - OSPF

(thing) by mcc (2.6 y) (print)   ?   (I like it!) Sun Feb 11 2001 at 17:58:03

"Protocols" are, along with categories (see my writeup under Category), how Objective C handles mix-ins and how it gets around the fact it does not have multiple inheritance. Protocols and categories encompass one of the more visible bits of Objective C's Smalltalk heritage, and are taken together really rather similar to a more nimble (in my opinion, anyway) equivalent of the interface )("implements") capability in java. Protocols greatly simplify certain odd issues of class structure and polymorphism that are very clumsy to deal with.

Basically all a protocol does is group classes by functionality; a protocol prototypes a certain number of methods, and if a class adopts a protocol it is agreeing to implement every single one of the methods specified in the protocol. The class can then be described by the type of the protocol, and in general can be treated as if the protocol was a class it had inherited from.

If we were going to create a protocol named DemoProtocol, the syntax would look like this:

In DemoProtocol.h:

@protocol DemoProtocol
    - thing1;
    - thing2;
@end
If class HypotheticalClass wanted to adopt DemoProtocol, all it would have to do is add it to the end of its @implementation line surrounded by <html brackets>, for example changing @implementation HypotheticalClass to @implementation HypotheticalClass <DemoProtocol>. Categories can adopt protocols, and protocols can adopt other protocols, in the same way. Any of these can adopt multiple protocols, by listing multiple protocols between the <> brackets separated by commas. If a class has adopted DemoProtocol by any of these means, it *must* implement methods named thing1 and thing2. Any class that has adopted DemoProtocol, however, can be passed in methods and functions as (DemoProtocol *), and the type checking system will be fine with that.

Protocols let you abstractly describe a functionality that could be implemented by a variety of classes in different ways; for example, NeXTStep has a protocol for event handlers. Without protocols, either all event handlers would have to be subclasses of NSEventHandler, which would be unrealistic and restrictive, or the event handling functions of NeXTStep would have to simply assume any id passed to it supports the event handling methods, without the benefit of compile-time type checking etc.

The @protocol @-directive can be used in three ways: to declare a protocol, as outlined above; to alert the compiler to the existence of a protocol defined in another file, the same way the @class directive works (see my writeup under @); and to return a protocol object (Every protocol has a corresponding instance variable of class Protocol; you can say @protocol( DemoProtocol ) somewhere in your code, and it will return a pointer to the protocol instance variable corresponding to DemoProtocol. There are defined in NSObject both class method and instance methods named conformsToProtocol(Protocol *)aProtocol; you send this message to any object, and it returns a BOOL stating whether the object adopts aProtocol, which you find the value of by using the @protocol() directive.

The language-imposed protocols i have just described are often called "Formal Protocols"; there is also something called an Informal Protocol (see the node).


(idea) by Jargon (1.8 y) (print)   ?   (I like it!) Thu Jul 19 2001 at 14:22:24

proprietary = P = provocative maintenance

protocol n.

As used by hackers, this never refers to niceties about the proper form for addressing letters to the Papal Nuncio or the order in which one should use the forks in a Russian-style place setting; hackers don't care about such things. It is used instead to describe any set of rules that allow different machines or pieces of software to coordinate with each other without ambiguity. So, for example, it does include niceties about the proper form for addressing packets on a network or the order in which one should use the forks in the Dining Philosophers Problem. It implies that there is some common message format and an accepted set of primitives or commands that all parties involved understand, and that transactions among them follow predictable logical sequences. See also handshaking, do protocol.

--The Jargon File version 4.3.1, ed. ESR, autonoded by rescdsk.


(idea) by Kyudosha (1.3 y) (print)   ?   (I like it!) Tue Feb 19 2002 at 21:44:49

A term used in history to reference the deliberately obfuscating collection of terms that Nazi's directly involved with the Final Solution were taught to use. (i.e. "final solution" "relocation") The purpose of this protocol was to allow for a more efficient and expedient extermination operation by allowing those directly involved a sort of blissful ignorance towards their actions. For further reading see: Eichmann in Jerusalem By Hannah Arendt.

(definition) by Webster 1913 (print) Wed Dec 22 1999 at 2:18:57

Pro"to*col (?), n. [F. protocole, LL. protocollum, fr. Gr. the first leaf glued to the rolls of papyrus and the notarial documents, on which the date was written; prw^tos the first (see Proto-) + glue.]

1.

The original copy of any writing, as of a deed, treaty, dispatch, or other instrument.

Burrill.

2.

The minutes, or rough draught, of an instrument or transaction.

3. Diplomacy (a)

A preliminary document upon the basis of which negotiations are carried on.

(b)

A convention not formally ratified.

(c)

An agreement of diplomatists indicating the results reached by them at a particular stage of a negotiation.

 

© Webster 1913.


Pro"to*col, v. t.

To make a protocol of.

 

© Webster 1913.


Pro"to*col, v. i.

To make or write protocols, or first draughts; to issue protocols.

Carlyle.

 

© Webster 1913.


printable version
chaos

TCP/IP provocative maintenance samba NetBIOS
greeting HTTP SS7 do protocol
handshaking OSI Physical Layer UDP FTP
An e-mail address is NOT a website telnet ICMP 127.0.0.1
SNMP The world wide web as a subset of the internet Sip Freenet
How The Internet Works BGP MPLS WAP Forum
Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.
  Epicenter
Login
Password

password reminder
register

Everything2 Help

Cool Staff Picks
What you are reading:
Theory of flight
Richard Francis Burton
American football
Why Microsoft is evil
Wedge-tailed eagle
I fear I will be nothing
quine
Sea turtle
Creeque Alley
Jesus Christ Trigonal Planar
The White Butterfly
pornography
Laurie Anderson
New Writeups
aneurin
Earl of Landaff(person)
Heitah
Pseudocide(idea)
XWiz
Google Knol(lede)
Mythi
July 24, 2008(personal)
locke baron
The fall of Earth(fiction)
BookReader
Fear the Cold(dream)
Pavlovna
Kathleen MacInnes(person)
stainedglass
1(fiction)
kalen
Three "T"s(idea)
octillion369
Undead(idea)
archiewood
Ico(fiction)
Heisenberg
Why I love Everything2(log)
octillion369
Death Knight(person)
XWiz
Are you hoping for a miracle?(review)
santo
The Host(review)
This affordable entertainment brought to you by The Everything Development Company